5

こんにちはアンドロイド愛好家、私はこの問題の解決策を見つけるのに苦労しています。ユーザーの Google カレンダーと Google ドキュメントにアクセスする予定です (google-api-java-client-v1.6.0 を使用)。AccountManager を介してユーザーの Google アカウントにアクセスできますが、この理由でユーザーを認証するために authToken を要求することを台無しにしませんでした:

ユーザーが自分の Google アカウントにアクセスするアプリケーションを確認したときに、1 つのアクティビティで Docs と Cal の複数の authToken リクエストを処理するにはどうすればよいですか?

私のアプリケーションでは、ユーザーがユーザーのアカウントへのアクセスを許可した瞬間に、バックグラウンドで実行されている別のタブに Google ドキュメントと Cal が表示されます。

リンクのチュートリアルは大歓迎です。

ティア。

4

1 に答える 1

2

私の解釈が正しければ、Calendar 用に 1 つの authToken が必要で、Docs 用に 1 つの authToken が必要であるという事実をどのように処理するのか疑問に思っているでしょうか?

クライアント ライブラリを使用するためのサンプル コードを見ると、次のようなことができます:

private final static String CAL_AUTH_TOKEN_TYPE = "cl";
private final static String DOCS_AUTH_TOKEN_TYPE = "writely"; // Not sure this is correct

// This will ask the user for permissions the first time
Bundle docsBundle = manager.getAuthToken(account, DOCS_AUTH_TOKEN_TYPE, true, null, null);
Bundle calBundle = manager.getAuthToken(account, CAL_AUTH_TOKEN_TYPE, true, null, null);

// Do whatever syncing you need
doWork(docsBundle, calBundle);

初めてこれを行うと、ユーザーはカレンダーへのアクセスを要求するポップアップを受け取ります。承認されると、Docs の許可を求める別のポップアップが表示されます。承認が与えられると、ポップアップが再び表示されることはありません (ユーザーがアプリを再インストールしない限り)。ですから、何も心配する必要はないと思います。バックグラウンド プロセスではなく、UI スレッドで初めて authToken を取得するようにしてください。バックグラウンド プロセスでは、ポップアップ ウィンドウは表示されません。

于 2012-02-24T16:14:56.037 に答える