Web &引用;立即“U失败”无法自动登录用户
我在使用Google+登录开发网站时遇到了一个问题: 我是按照医生告诉我的一步一步做的,但我在第四步总是失败:Web &引用;立即“U失败”无法自动登录用户,web,google-plus,Web,Google Plus,我在使用Google+登录开发网站时遇到了一个问题: 我是按照医生告诉我的一步一步做的,但我在第四步总是失败: 结果总是“立即失败”-无法自动登录用户“,我只是不知道为什么,有人能帮我吗,非常感谢!:-(请注意,在您指向的示例代码中,“立即\u失败”检查被注释掉。这是有意的,因为用户第一次遇到页面上的登录按钮时,它将失败 它失败的原因是,当页面首次加载时,在用户按下按钮之前,会向谷歌发送一个请求,以确定用户是否已经登录(例如,通过谷歌或其他网站)。如果他们已登录,则无需再次登录,因此无需显示该
结果总是“立即失败”-无法自动登录用户“,我只是不知道为什么,有人能帮我吗,非常感谢!:-(请注意,在您指向的示例代码中,“立即\u失败”检查被注释掉。这是有意的,因为用户第一次遇到页面上的登录按钮时,它将失败 它失败的原因是,当页面首次加载时,在用户按下按钮之前,会向谷歌发送一个请求,以确定用户是否已经登录(例如,通过谷歌或其他网站)。如果他们已登录,则无需再次登录,因此无需显示该按钮。但如果他们已未登录,则您将收到“立即失败”响应,并且需要显示(或不清除)该按钮 tl;dr-不必担心页面首次加载时立即获取失败。这是正常的。作为一种解决方法,我使用gapi.auth.sign回调中的方法。以下是我的代码:
gapi.auth.signIn({
'callback': gPlusLoginCallback
});
function gPlusLoginCallback(authResult) {
if (authResult['status']['signed_in']) {
doSmth(authRes['access_token']);
} else if (authResult['error'] == "immediate_failed") {
gapi.auth.authorize({
client_id: gplusClientId,
scope: 'https://www.googleapis.com/auth/plus.login email',
immediate: true
}, function (authRes) {
if (authRes['status']['signed_in']) {
doSmth(authRes['access_token']);
}
});
}
}
function doSmth(accessToken){
//Do smth
}
将此设置“立即:真”更改为“立即:假”。
但是如果你想让实现更复杂,请看这里的第一个示例。你必须调用Google的“gapi.auth.authorize({…”),第一个是“immediate:true”,第二个是“immediate:false”。这个问题很老了,但我最近遇到了这个问题 在我的例子中,这是因为我将
提示符
指定为无
。如果用户以前从未登录过您的平台,我想Google不喜欢这样
每当我将其更改为同意或完全删除时,效果都非常好。在我的情况下,错误是因为明确地将提示指定为“无”,类似于前面的回答
它通过指定
prompt=None
对我起作用,或者按照官方的说法,您可以跳过此参数。您可以发布您正在使用的代码吗?这在上的工作示例中显示。