使用Android AccountManager获取gdata的authtoken

使用Android AccountManager获取gdata的authtoken,android,gdata-api,gdata,accountmanager,gdata-java-client,Android,Gdata Api,Gdata,Accountmanager,Gdata Java Client,因此,我试图同步到谷歌文档,而不必询问用户的凭据。我使用以下代码获取身份验证令牌: AccountManager mgr = AccountManager.get(activity); authToken = mgr.blockingGetAuthToken(account, DocsService.DOCS_SERVICE, true); 这将返回一个格式良好的身份验证令牌。因此,在我的文档服务中,我运行: service.setAuthSubToken(authToken); 然而,当我

因此,我试图同步到谷歌文档,而不必询问用户的凭据。我使用以下代码获取身份验证令牌:

AccountManager mgr = AccountManager.get(activity);
authToken = mgr.blockingGetAuthToken(account, DocsService.DOCS_SERVICE, true);
这将返回一个格式良好的身份验证令牌。因此,在我的文档服务中,我运行:

service.setAuthSubToken(authToken);
然而,当我尝试使用API时,我只得到一个AuthenticationException。关于如何处理这个错误有什么想法吗


编辑:我确实有使用凭据权限。

问题是返回的令牌是ClientLogin令牌,而不是AuthSub令牌。一个更大的问题是GDataJava客户端库没有正式支持Android。我们最近在gdatajava客户端库的主页上添加了一条注释,我们建议改为使用Android

我想到了两个示例,它们将有助于您开始使用GoogleAPI Java客户端库:和


披露:我是GData Java客户端库和用于Java项目的Google API客户端库的所有者。

正如Yaniv解释的,GData库在Android中不工作。我浪费了几个小时没有结果。它看起来很奇怪,它是谷歌的产品,但在他们自己的平台(Android)上仍然不受支持

无论如何,我已经开发了一个在Android上工作的客户端库。我在谷歌代码上管理这个项目-


您可以试一试。

您可能还想看看Yaniv的Google I/O 2011会话幻灯片/视频,以了解如何在Android上访问GData API


thx lol,我将尝试使用该库。我还要求提供更广泛的谷歌文档样本,这将非常有帮助:)对不起,但是你的示例链接不起作用。你能发布任何新的链接吗?是的,好吧,谷歌的政策是平等对待每一个人和每件事,这意味着当涉及到让他们的一个项目与另一个项目合作时,他们最终会自食其果。(也就是说,谷歌服务与安卓系统配合得很好。这对iOS、Windows和Mac操作系统不公平。不,对每个平台的支持都必须平等。)