gpt4 book ai didi

angularjs - 如何使用 angularjs 实现 google+ 登录

转载 作者:行者123 更新时间:2023-12-04 23:02:05 25 4
gpt4 key购买 nike

我有一个 AngularJS 应用程序,我想实现 G+ 登录。我已经浏览了他们的示例,它们作为独立的应用程序工作。

https://developers.google.com/+/web/signin/

在我的 Angular 应用程序中,我能够显示 G+ 登录按钮。但我被困在回调上。我是否将回调函数放在我的 Controller js 文件中?

如果是这样,并给出这个 Controller :

app.controller('myController', function ($scope) {
function signinCallback(authResult) {

在我的数据回调中,我如何命名它以便它转到 myController 中的 signinCallback?
    <span id="signinButton">
<span
class="g-signin"
data-callback="signinCallback"
data-clientid="123456789.apps.googleusercontent.com"
data-cookiepolicy="single_host_origin"
data-requestvisibleactions="http://schemas.google.com/AddActivity"
data-scope="https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/plus.profile.emails.read"
</span>
</span>

最佳答案

Google+ PhotoHunt 示例应用程序演示了 AngularJS 与 Google+ 的集成。该示例适用于 Ruby、Java、Python 和 C#/.NET for web。
需要注意的应该是AngularJS前端的如下代码:

用于呈现按钮的标记:

<span id="signin" ng-show="immediateFailed">
<span id="myGsignin"></span>
</span>

将标记粘合到代码的 JavaScript:
$scope.signIn = function(authResult) {
$scope.$apply(function() {
$scope.processAuth(authResult);
});
}

$scope.processAuth = function(authResult) {
$scope.immediateFailed = true;
if ($scope.isSignedIn) {
return 0;
}
if (authResult['access_token']) {
$scope.immediateFailed = false;
// Successfully authorized, create session
PhotoHuntApi.signIn(authResult).then(function(response) {
$scope.signedIn(response.data);
});
} else if (authResult['error']) {
if (authResult['error'] == 'immediate_failed') {
$scope.immediateFailed = true;
} else {
console.log('Error:' + authResult['error']);
}
}
}

$scope.renderSignIn = function() {
gapi.signin.render('myGsignin', {
'callback': $scope.signIn,
'clientid': Conf.clientId,
'requestvisibleactions': Conf.requestvisibleactions,
'scope': Conf.scopes,
'apppackagename': 'your.photohunt.android.package.name',
'theme': 'dark',
'cookiepolicy': Conf.cookiepolicy,
'accesstype': 'offline'
});
}

在 processAuth 中,您应该会看到一个访问 token ,并且可以更新您的 UI 以反射(reflect)这一点。您还可以查看 the full controller's JavaScript code on GitHub .

关于angularjs - 如何使用 angularjs 实现 google+ 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20809673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com