5

Google API Java クライアントhttp://code.google.com/p/google-api-java-client/を使用しており、Android のアクセス トークンを正常に取得できます。

    // Google Accounts
credential = GoogleAccountCredential.usingOAuth2(this, CalendarScopes.CALENDAR);
SharedPreferences settings = getPreferences(Context.MODE_PRIVATE);
credential.setSelectedAccountName(settings.getString(PREF_ACCOUNT_NAME, null));

Web サーバーでオフライン API 呼び出しを行いたいので、更新トークンが必要です。私は広範囲に検索してきましたが、その方法をまだ理解していません。

理想的には、WebView よりも Google API Java クライアントを使用して更新トークンを取得することをお勧めします (ユーザー名やパスワードを入力する必要はありません)。

どんな助けでも大歓迎です!

4

2 に答える 2

1

認証フローを開始するときは、次を設定する必要があります。

  • 承認プロンプト = 強制
  • アクセス タイプ = オフライン

これらのパラメーターを設定すると、Google は更新トークンを返し、ライブラリは更新を処理します。これは私のために働く:

new GoogleAuthorizationCodeFlow.Builder(HTTP_TRANSPORT, JSON_FACTORY, getClientCredential(),
                Arrays.asList(SCOPES)).setCredentialStore(new OAuth2CredentialStore()).setAccessType("offline")
                .setApprovalPrompt("force").build();
于 2013-02-22T13:26:32.100 に答える