Я создаю небольшое приложение Angular и использую Google Sign-In. Я просто использую пример кода из учебника, который дает Google.
<span class="g-signin"
data-scope="https://www.googleapis.com/auth/plus.login"
data-clientid="blah"
data-redirecturi="postmessage"
data-accesstype="offline"
data-cookiepolicy="single_host_origin"
data-callback="signInCallback">
</span>
Это элемент, который делает кнопку для входа, и я запускаю этот код, чтобы начать
(function () {
var po = document.createElement('script');
po.type = 'text/javascript';
po.async = true;
po.src = 'https://plus.google.com/js/client:plusone.js?onload=start';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(po, s);
})();
, все они скопированы из Google. Затем у меня есть этот метод в моем контроллере,
.controller('splashController', ['$scope', '$window', function($scope, $window){
$scope.googleLogin() = function(){
$scope.googleAuthResult = $window.googleAuthResult;
console.log($scope.googleAuthResult);
};
window.signInCallback = function(authResult){
console.log("happy");
};
}])
Но проблема в том, что после запуска скрипта google+ он ищет за пределами Angular World эту функцию signInCallback, которую я хочу сохранить в Angular, потому что я хочу отправить токен через angular, а не как jQuery. Какие-либо предложения?