2016-01-07 2 views
0

Я новичок в angularJS и просто хочу интегрировать facebook, я скопировал образец кода с страницы интеграции facebook, но ничего не получил. Мой код ниже ->Facebook Интеграция с использованием угловых js в php

<html> 
    <head> 
     <title>Angular JS Facebook Intergration</title> 
     <script src = "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>  
     <script src = "//connect.facebook.net/en_US/sdk.js"></script> 
    </head> 
    <body ng-app='fbApp'>  
     <div ng-controller="fbController"> 
      {{getMyLastName()}} 
     </div> 
     <script> 
      window.fbAsyncInit = function() { 
       FB.init({ 
        appId: 'XXXXXXX', 
        status: true, 
        cookie: true, 
        xfbml: true, 
        version: 'v2.4' 
       }); 
      }; 
      var fbApp = angular.module("fbApp", []); 
      fbApp.controller('fbController',function($scope){ 
        $scope.getMyLastName = function() { 
         facebookService.getMyLastName() 
         .then(function(response) { 
          $scope.last_name = response.last_name; 
         } 
         ); 
        }; 
      }); 
      fbApp.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; 
        } 
       } 
      }); 
     </script> 
    </body> 
</html> 

output: {{getMyLastName()}}, Пожалуйста, помогите мне, (Этот пример просто для обучения), спасибо заранее.

+0

Какое сообщение об ошибке вы получаете в консоли? Ваш контроллер не компилируется, потому что вы не вводили 'facebookService'. – georgeawg

+0

"Ошибка: facebookService не определен [email protected]: //192.168.10.64/yatindra/angular/: 24: 9 ib.prototype.functionCall/<@http: //ajax.googleapis.com/ajax /libs/angularjs/1.3.14/angular.min.js:198:291 h/<@http: //ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js: 107 : 415 –

+0

как мне инъецировать facebookService ???? @georgeawg –

ответ

1

how do i inject facebookService ????

Вы должны добавить его в качестве аргумента для вашей функции контроллера:

 fbApp.controller('fbController',function($scope, facebookService){ 
       $scope.getMyLastName = function() { 
        facebookService.getMyLastName() 
        .then(function(response) { 
         $scope.last_name = response.last_name; 
        } 
        ); 
       }; 
     }); 
+0

Отличный !!!! ** facebookService не определен Ошибка решена **, теперь она показывает еще одну ошибку: Ошибка: init не вызывается с допустимой версией Ошибка at Object .a (sdk.js: 42) at window.FB.require (sdk.js: 11) at window.FB.require (sdk.js: 11) at window.FB.require (sdk.js: 11) at window.FB.require (sdk.js: 11) at window.FB.require (sdk.js: 11) at window.FB.require (sdk.js: 11) at window.FB.require (sdk.js: 11) на window.FB.require (sdk.js: 11) at window.FB.require (sdk.js: 11) –

+0

. Зайдите в панель инструментов вашего приложения, чтобы узнать, какая минимальная версия API, которую может использовать ваше приложение. Если ваше приложение было создано после объявления API v2.5, вы не сможете «понизить» до более старых версий API и использовать 'version: 'v2.5'' в своем вызове' FB.init'. – CBroe

Смежные вопросы