OAuth2 とそのための Google クライアント ライブラリ (Appengine と GWT BTW 上にあります) を使用して Google API (Calendar API から開始) にアクセスするアプリを開発しています。
OAuth2Callバック サーブレットを実装して、Google を拡張しましAbstractAppEngineAuthorizationCodeCallbackServletた。
私はそれを機能させ、アクセスしてカレンダーなどを見ることができますが、2つの問題があります:
1) オフライン アクセスを明示的に要求しているにもかかわらず、更新トークンを取得できません。
public static GoogleAuthorizationCodeFlow newFlow( String scope ) throws IOException {
GoogleAuthorizationCodeFlow.Builder builder = new GoogleAuthorizationCodeFlow.Builder(
HTTP_TRANSPORT,
JSON_FACTORY,
getClientSecrets(),
Collections.singleton( scope ) );
builder.setCredentialStore( new AppEngineCredentialStore() ).setAccessType("offline");
return builder.build();
}
2) 自動更新機能の設定方法がわかりません。これらのページでは、方法について説明します。
しかし、更新リスナーを追加する場所がわかりません。GoogleAuthorizationCodeFlow.Builderクラスとは異なり、Credential.Builderクラスにはそのようなメソッドはありません
EDITコードをさらにデバッグした後、資格情報が(onSuccess()メソッドで)戻ってきたとき、RefreshListenerすでにセットがあるようです.....おそらくそれはデフォルトであり、私の唯一の問題はrefresh_token、尋ねたにもかかわらず、それのための。
Google API コンソールの設定も確認する必要がありますか?