SDK Facebook pour JavaScript avec AngularJS

Vous pouvez intégrer le SDK Facebook pour JavaScript avec AngularJS. Cependant, comme notre SDK doit fonctionner sur le web, et non pas sur une infrastructure en particulier, nous ne proposons pas de module AngularJS.

Chargement du SDK Facebook pour JavaScript

Pour ajouter le SDK Facebook pour JavaScript à votre application, nous vous recommandons de suivre le guide pratique Authentification Facebook dans votre application web AngularJS ou les autres guides publiés sur https://docs.angularjs.org/guide.

Utiliser la dernière version du SDK

Lorsque vous suivez un guide, assurez-vous de charger le dernier fichier SDKsdk.js :

// Old SDK (deprecated)
js.src = "https://connect.facebook.net/en_US/all.js";

// New SDK (v2.x)
js.src = "https://connect.facebook.net/en_US/sdk.js";

et d’indiquer une version de l’API Graph (actuellement v2.4) dans l’appel FB.init() :

$window.fbAsyncInit = function() {
    FB.init({ 
      appId: '{your-app-id}',
      status: true, 
      cookie: true, 
      xfbml: true,
      version: 'v2.4'
    });
};

Gestion des rappels

Le SDK Facebook pour JavaScript ne prend pas en charge le concept de promesse. En guise de contournement, vous pouvez intégrer vos appels Facebook pour le SDK JavaScript (par exemple) à un service :

// ...
.factory('facebookService', function($q) {
    return {
        getMyLastName: function() {
            var deferred = $q.defer();
            FB.api('/me', {
                fields: 'last_name'
            }, function(response) {
                if (!response || response.error) {
                    deferred.reject('Error occured');
                } else {
                    deferred.resolve(response);
                }
            });
            return deferred.promise;
        }
    }
});

Par exemple, utilisez le service de cette manière :

$scope.getMyLastName = function() {
   facebookService.getMyLastName() 
     .then(function(response) {
       $scope.last_name = response.last_name;
     }
   );
};

Bibliothèques de tiers

Il existe également plusieurs bibliothèques de tiers qui simplifient l’utilisation du SDK Facebook pour JavaScript, dont la liste est disponible sur la page Guide AngularJS.