Você pode integrar o SDK do Facebook para JavaScript com AngularJS. No entanto, como nosso SDK precisa trabalhar para a Web e não para uma estrutura específica, não oferecemos um módulo de AngularJS.
Para a adição do SDK do Facebook para JavaScript ao seu aplicativo, recomendamos que você siga o documento de instruções Autenticação do Facebook em seu aplicativo Web AngularJS ou outros guias publicados em https://docs.angularjs.org/guide.
Ao seguir qualquer guia, não se esqueça de carregar o arquivo do SDK mais recentesdk.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";
e forneça uma versão da Graph API (atualmente v2.4
) na chamada FB.init()
:
$window.fbAsyncInit = function() { FB.init({ appId: '{your-app-id}', status: true, cookie: true, xfbml: true, version: 'v2.4' }); };
O SDK do Facebook para JavaScript não oferece suporte ao conceito de promessas. Como uma solução alternativa, você pode agrupar suas chamadas do SDK do Facebook para JavaScript (por exemplo) em um serviço:
// ... .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; } } });
Use o serviço, por exemplo, como este:
$scope.getMyLastName = function() { facebookService.getMyLastName() .then(function(response) { $scope.last_name = response.last_name; } ); };
Também há várias bibliotecas de terceiros que simplificam o uso do SDK do Facebook para JavaScript listadas na página Guia de AngularJS.