1

トークンを取得するために、GoogleAuthUtil.getToken(context,account, "oauth2:" +" https://www.googleapis.com/auth/drive.appdata "); を呼び出しています。

これは常にトークンを提供するので、コードは機能しますが、(少なくとも初めて) UserRecoverableAuthException を取得することを期待しているので、例外でその意図を使用してユーザーにアクションを促すことができます。この場合のアクションは、そのユーザーの Google ドライブ ストレージへのアクセスをアプリに許可することです。

Web サイトからアプリをドライブから切断し、アプリを実行すると、ファイルが gdrive に書き込まれ、Web サイトから、アプリがドライブに接続されていることがわかります。

ユーザーがアクセスを許可するように求められないのはなぜですか?

4

3 に答える 3

0

AndroidManifest.xml のアクティビティに singleInstance を追加したため、認証ダイアログが表示されていないことがわかりました。

AndroidManifest からの削除

android:launchMode = "singleInstance"

この問題と、アクティビティ間の他のいくつかの奇妙な遷移効果が修正されました。

于 2013-07-11T13:34:10.670 に答える
0

初めてアプリをドライブに接続すると、アカウント名を送信するときにアプリ自体が許可を求めます。

予想される例外は、ユーザーがアプリを切断した場合にのみスローされます。

アプリを切断してから、ドライブへの読み取り/書き込みを試してください。この例外をスローする必要があります。

于 2014-06-21T01:46:56.687 に答える