我有一个问题,当我开发我的网站Google+登入:我也一步一步的文档告诉我,但我始终没在步骤4: https://developers.google.com/+/web/signin/
结果总是“” immediate_failed“ - 无法automatially登录的用户”,我只是不kown为什么,谁能帮助我,非常感谢! :-(
我有一个问题,当我开发我的网站Google+登入:我也一步一步的文档告诉我,但我始终没在步骤4: https://developers.google.com/+/web/signin/
结果总是“” immediate_failed“ - 无法automatially登录的用户”,我只是不kown为什么,谁能帮助我,非常感谢! :-(
请注意,在你所指出的示例代码中,“immediate_failed”检查注释掉。 这是故意的,因为第一次遇到用户页面上的登录按钮,它就会失败。
失败的原因是,当第一次加载页面,用户即使按下按钮前,请求被发送到谷歌来确定用户是否已经(通过谷歌或其他网站,例如)已经登录。 如果他们是 - 没有必要让他们重新登录,使按键永远需要显示。 但是,如果他们没有被已经登录,您将得到“immediate_failed”反应,要么需要显示(或不清晰)按钮。
文艺青年最爱的 - 别担心AOUT得到immediate_failed当第一次加载页面。 这个是正常的。
作为一种变通方法我用gapi.auth.authorize在gapi.auth.signIn回调方法。 这里是我的代码:
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
}
更改此设置“直接:真”,是假的“立竿见影:假”。 但是,如果你喜欢做更复杂的实现来看第一个样本这里https://developers.google.com/api-client-library/javascript/start/start-js 。 你必须向谷歌的召唤“gapi.auth.authorize({...”,第一个用“立竿见影:真”,而第二个具有“立竿见影:假”。
现在的问题是旧的,但我最近遇到这个问题。
就我而言,那是因为我指定的URI参数 prompt
到none
。 我想谷歌不喜欢,如果用户之前从未登录到您的平台。
每当我改变了对consent
或完全删除它,它的工作太棒了。