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

Ben*_*Ben 5 android auth-token google-data-api

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

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

在我的应用程序中,当用户允许访问用户帐户时,Google Docs和Cal会在不同的选项卡上运行.

任何链接教程将不胜感激.

TYIA.

Jon*_*tam 2

如果我的解释正确的话,您想知道如何处理日历需要一个 authToken,文档需要一个 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);
Run Code Online (Sandbox Code Playgroud)

当您第一次执行此操作时,用户将收到一个弹出窗口,请求访问他的日历。一旦获得批准,就会出现另一个弹出窗口,询问文档的许可。一旦获得批准,弹出窗口就不会再出现(除非用户重新安装您的应用程序)。所以我认为你不需要担心任何事情。只需确保您第一次尝试在 UI 线程中获取 authToken,而不是在后台进程中获取。在后台进程中,不会出现弹出窗口。