12

Google+ サインインを使用して Web サイトを開発したときに問題が発生しました: ドキュメントが教えてくれたステップバイステップで実行しましたが、ステップ 4 で常に失敗しました: https://developers.google.com/+/web/signin/

結果は常に「immediate_failed - ユーザーを自動的にログインできませんでした」でした。理由がわかりません。誰か助けてください。どうもありがとうございました。:-(

4

5 に答える 5

3

回避策として、gapi.auth.signIn コールバックでgapi.auth.authorizeメソッドを使用します。これが私のコードです:

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
}
于 2014-12-11T15:36:03.320 に答える
2

この設定を「immediate: true」から false「immediate: false」に変更します。ただし、より複雑な実装を行いたい場合は、https://developers.google.com/api-client-library/javascript/start/start-jsの最初のサンプルをご覧ください。Google の "gapi.auth.authorize({..."、最初は "immediate: true"、2 つ目は "immediate: false" で呼び出す必要があります。

于 2014-12-17T08:21:20.513 に答える
1

質問は古いですが、最近この問題に直面しました。

私の場合は、URI パラメータ promptをに指定したためnoneです。ユーザーが以前にプラットフォームにログインしたことがない場合、Googleはそれを好まないと思います。

それを変更しconsentたり、完全に削除したりすると、うまくいきました。

于 2015-08-10T09:08:35.113 に答える