2016-06-27 3 views
3

Я пытаюсь импортировать контакты gmail пользователя с помощью Angular Js. Код работает нормально в простом javascript, но дает ошибку в угловых js.Импорт контактов Google с помощью angularjs

HTML код ..

<a class="btn btn-primary btn-simple" ng-click="importgoogle()"><u>Import Gmail Friends</u></a> 

Угловой код ..

var clientId = 'Client ID'; 
var scopes = 'https://www.googleapis.com/auth/contacts.readonly'; 
    $scope.importgoogle = function(){ 
    window.setTimeout(authorize);  //calls authorize() 
} 

var authorize = function(){ 
    gapi.auth.authorize({client_id: clientId, scope: scopes, immediate: false}, handleAuthorization);  //calls handleAuthorization() 
} 

var handleAuthorization = function(){ 
    if (authorizationResult && !authorizationResult.error) { 
      $.get("https://www.google.com/m8/feeds/contacts/default/thin?alt=json&access_token=" + authorizationResult.access_token + "&max-results=500&v=3.0", 
      function(response){ 
       console.log(response); 
       }); 
     } 
} 

После ввода Id & пароля пользователя появляется следующее сообщение об ошибке отображается в консоли ..

Uncaught ReferenceError: authorizationResult is not defined 

Не могу понять, где я ошибаюсь, поскольку этот код работает в Javascript.Pl облегчение справки.

+0

Вы уверены, что это код, который бежать? В этом коде он не может получить эту ошибку. – Ygalbel

+0

Возможно, вам нужно обновить/перезагрузить код – Ygalbel

ответ

0

Проблема заключается в функции handleAuthorization. Правильный способ реализации этой функции есть ..

var handleAuthorization = function(authorizationResult){   //authorizationResult needs to be passed as an arguement. 
if (authorizationResult && !authorizationResult.error) { 
     $.get("https://www.google.com/m8/feeds/contacts/default/thin?alt=json&access_token=" + authorizationResult.access_token + "&max-results=500&v=3.0", 
     function(response){ 
      console.log(response); 
      }); 
    } 

}

После внесения этих изменений кода Угловой Js теперь работает должным образом.

2

Здесь рабочий пример использования Угловое Js:

app.controller("importGCCtrl", function($scope, $http) { 
$scope.config = { 
    'client_id': 'Client ID', 
    'scope': 'https://www.google.com/m8/feeds' 
}; 

$scope.inviteContacts = function() { 
    gapi.auth.authorize($scope.config, function() { 
     $scope.fetch(gapi.auth.getToken()); 
    }); 
} 

$scope.fetch = function(token) { 
    $http.get("https://www.google.com/m8/feeds/contacts/default/full?access_token=" + token.access_token + "&alt=json").then(function(response) { 
     console.log(response); 
     //console.log(response.data.feed.entry); 
     //$scope.contacts = response.data.feed.entry; // to assign data 
    }); 
} 

});

* Примечание: Пожалуйста, убедитесь, что вы включили API - <script src="https://apis.google.com/js/client.js"></script> на странице

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