1

Google ドライブからファイルを一覧表示しましょう。

GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(
    context, DriveScopes.DRIVE);
Drive service = new Drive.Builder(AndroidHttp.newCompatibleTransport(), 
    new GsonFactory(), credential).build();
service.files().list().execute();

ただし、execute() は、たとえば利用可能なネットワーク接続がない場合、認識にほぼ永遠に時間がかかります。

GoogleAccountCredential のソースから、ExponentialBackOffPolicy を使用していることが判明しました。これには、デフォルトで最大 15 分の経過時間制限があります。

質問 1: この動作をオーバーライドして、タイムアウト制限をより低い値に設定する方法はありますか?

質問 2: service.files().list().execute() が AsyncTask で実行されています。彼女がその 15 分のタイムアウトを待ちたくない場合、ユーザーの要求に応じてキャンセルする正しい方法は何ですか?

4

1 に答える 1

3

フィードバックをお寄せいただきありがとうございます!

GoogleAccountCredential の指数バックオフ ポリシーをカスタマイズする方法はないようです。ここで機能リクエストを提出しました:

https://code.google.com/p/google-api-java-client/issues/detail?id=734

キャンセルする良い方法もないようです。ここに提出された機能リクエスト:

https://code.google.com/p/google-api-java-client/issues/detail?id=735

注: 私はgoogle-api-java-clientプロジェクトの所有者です

于 2013-02-28T02:25:04.030 に答える