Facebook-SDK für JavaScript mit AngularJS

Du kannst das Facebook-SDK für JavaScript in AngularJS integrieren. Da unser SDK aber für das Web und nicht für ein bestimmtes Framework funktionieren muss, bieten wir kein AngularJS-Modul an.

Laden des Facebook-SDK für JavaScript

Um das Facebook-SDK für JavaScript deiner App hinzuzufügen, empfehlen wir, der Anleitung zur Facebook-Authentifizierung in deiner AngularJS-Web-App oder anderen Leitfäden unter https://docs.angularjs.org/guide zu folgen.

Verwenden der aktuellen SDK-Version

Unabhängig davon, welchem Leitfaden du folgst, musst du darauf achten, die aktuellste SDK-Dateisdk.js zu laden:

// 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";

und eine Graph API-Version (derzeit v2.4) im FB.init()-Aufruf anzugeben:

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

Umgang mit Rückrufen

Das Facebook-SDK für JavaScript unterstützt keine Promises. Stattdessen kannst du deine Aufrufe des Facebook-JavaScript-SDK (beispielsweise) in einem Dienst bündeln:

// ...
.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;
        }
    }
});

Verwende den Dienst z. B. wie folgt:

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

Drittbibliotheken

Auf der Seite mit dem AngularJS-Leitfaden werden außerdem mehrere Drittbibliotheken aufgelistet, die die Nutzung des Facebook-SDK für JavaScript vereinfachen.