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 コンソールの設定も確認する必要がありますか?