Puoi integrare l'SDK di Facebook per JavaScript con AngularJS. Tuttavia, poiché il nostro SDK deve funzionare per il Web e non per un particolare framework, non offriamo un modulo AngularJS.
Per aggiungere l'SDK di Facebook per JavaScript alla tua app, consigliamo di seguire l'articolo Facebook authentication in your AngularJS web app (Autenticazione Facebook nella tua app Web AngularJS) o le altre guide pubblicate su https://docs.angularjs.org/guide.
Qualunque sia la guida che stai seguendo, assicurati di caricare il filesdk.js
dell'SDK più recente:
// 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";
Fornisci inoltre una versione API Graph (attualmente v2.4
) nella chiamata FB.init()
:
$window.fbAsyncInit = function() { FB.init({ appId: '{your-app-id}', status: true, cookie: true, xfbml: true, version: 'v2.4' }); };
L'SDK di Facebook per JavaScript non supporta il concetto di promesse. Come soluzione, puoi raggruppare le tue chiamate dell'SDK di Facebook per JavaScript (ad esempio) in un servizio:
// ... .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; } } });
Ad esempio, usa un servizio simile al seguente:
$scope.getMyLastName = function() { facebookService.getMyLastName() .then(function(response) { $scope.last_name = response.last_name; } ); };
Nella pagina relativa alla guida su AngularJS, sono elencate diverse librerie di terzi che semplificano l'uso dell'SDK di Facebook per JavaScript.