2015-09-29 13 views
7

私はGoogle Sign-inを使用して自分のウェブサイトのユーザーを認証し、次にオフライン権限を求める別の手順として使用しています。GoogleUserオブジェクトにgrantOfflineAccessメソッドがありませんか?

ドキュメントによると、GoogleUserオブジェクトには、追加のアクセス許可を入力するように促すメソッド「grantOfflineAccess」がある必要があります。は、ユーザーにアカウントの確認を促します。しかし、Firebugのオブジェクトを調べてみると、私は他のすべてのメソッドが見つかりましたが、grantOfflineAccessは見つかりませんでした。

私はGoogleAuthオブジェクトのgrantOfflineAccessメソッドを使用して回避策を持っているが、それは(彼らはだけは、ログイン時にそのステップを実行さを持っているとして、私は、避けたい)自分のアカウントを確認するためにユーザーを強制します。私はログインを維持し、オフラインアクセスプロンプトを別々に許可して、それらの間でいくつかの検証を行うことができます。

ドキュメントは間違っていますか古いですか?私の望む行動を起こす別の方法はありますか?

答えて

8

私は自分でそれをチェックしましたが、その方法は実際には存在しません。私はこれが実際にはドキュメントのエラーだと思います。

私はちょっと突っ込んで、あなたが望むものを達成する別の方法を見つけました。authuserという名前の(明らかに文書化されていない)パラメータがあります。これは基本的にあなたがログインしているアカウントのインデックスです(最初は0、2番目は1 ...)。 Googleはいくつかのより多くの突きした後などGoogleDocsのようなもののために内部的にこれを使用して、私はGoogleUserデータにAUTHUSERが見つかりました:

enter image description here

wcgetAuthResponse()データですので、あなたがこのインデックスにアクセスできることが判明します: gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().session_state.extraQueryParams.authuser

あなたは今、次の呼び出しで、その結果、このパラメータでGoogleAuthgrantOfflineAccessを呼び出すことができます。

var auth = gapi.auth2.getAuthInstance(); 
var user = auth.currentUser.get(); 
auth.grantOfflineAccess({ 
    authuser: user.getAuthResponse().session_state.extraQueryParams.authuser 
}); 

これは私が助けることができる希望:-)アカウントチューせずにプロンプ​​トをオープンします!

+0

よろしくお願いします。 – Wogan

関連する問題