Facebook SDK للغة Javascript مع AngularJS

يمكنك دمج Facebook SDK للغة Javascript مع AngularJS. ومع ذلك، رغم أن مجموعة SDK مخصصة للعمل على الويب وليس على إطار عمل معين، فإننا لا نوفر وحدة AngularJS.

تحميل Facebook SDK للغة Javascript

لإضافة Facebook SDK للغة Javascript إلى تطبيقك، نوصي باتباع شرح كيفية مصادقة فيسبوك في تطبيق ويب AngularJS أو الدلائل الأخرى المتوفرة بالعنوان https://docs.angularjs.org/guide.

استخدام أحدث إصدار من مجموعة SDK

عند اتباع أي دليل من الدلائل، يرجى التأكد من تحميل أحدث ملف مجموعة SDK وهو sdk.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";

وتقديم إصدار Graph API (حاليًا v2.4) في استدعاء FB.init():

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

التعامل مع عمليات الاستدعاء

لا تدعم Facebook SDK للغة Javascript مفهوم الوعود. وكحل بديل، يمكنك جمع استدعاءات فيسبوك لـ JavaScript SDK (على سبيل المثال) في صورة خدمة:

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

استخدم الخدمة على سبيل المثال على هذا النحو:

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

مكتبات الجهات الخارجية

توجد أيضًا العديد من مكتبات الجهات الخارجية التي تساعد على سهولة استخدام Facebook SDK للغة Javascript في صفحة دليل AngularJS.