6

私はhttps://developers.google.com/drive/quickstart-androidの下で聞くすべてのステップに従いました それは動作します!しかし、指定されたコード/パッケージを他のプロジェクトにマージする場合は、

 W/System.err(793): com.google.android.gms.auth.UserRecoverableAuthException: NeedPermission
 W/System.err(793): at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
 W/System.err(793): at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)
 W/System.err(793): at com.drive.main.MainActivity$GetToken.doInBackground(MainActivity.java:139)
 W/System.err(793): at com.drive.main.MainActivity$GetToken.doInBackground(MainActivity.java:1)
 W/System.err(793): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
 W/System.err(793): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
 W/System.err(793): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
 W/System.err(793): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
 W/System.err(793): at java.lang.Thread.run(Thread.java:856)
 I/System.out(793): An error occurred: com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException

マニフェストで何か間違ったことをしていますか、それともApiコンソールで何かを変更する必要がありますか?

答えのないstackoverflowの下で1つのスレッドのみが見つかりました Googleドライブ認証例外-許可が必要ですか?(v2)

どんなアイデアも役に立ちます。ありがとうございました。

4

1 に答える 1

21

をキャッチUserRecoverableAuthExceptionし、catch ブロックで をIntent呼び出して例外から回復する必要がありますUserRecoverableAuthException#getIntent()。そのインテントを開始して、ユーザーをOAuth2アプリの許可ページに誘導します。

サンプルコード -

try {
    Drive service = Drive.Builder(AndroidHttp.newCompatibleTransport(), new GsonFactory(), credential)
        .build();
    // Do whatever you want with the Drive service
} catch (UserRecoverableAuthIOException e) {
    startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
}
于 2013-02-28T18:30:40.070 に答える