适用于Android中多个Google Data API的单个Google帐户authtoken

时间:2012-01-24 06:44:08

标签: android google-data-api auth-token

Hello android爱好者,我很难找到解决这个问题的方法。我打算访问用户的Google日历和Google文档,(使用google-api-java-client-v1.6.0)。我可以通过AccountManager访问用户的Google帐户,但我没有因为这个原因请求authToken来验证用户:

当用户确认应用程序访问其Google帐户时,如何在单个活动中处理Docs和Cal的多个authToken请求?

在我的应用程序中,当用户允许访问用户帐户时,Google文档和Cal会在不同的标签上运行。

任何链接教程都将不胜感激。

TYIA。

1 个答案:

答案 0 :(得分:2)

如果我正确地解释了你,你想知道如何处理你需要一个authToken for Calendar和一个authToken for Docs的事实?

看一些sample code for using the client libraries,您可以这样做:

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线程中第一次获取authTokens,而不是在后台进程中。在后台进程中,不会出现弹出窗口。