其他分享
首页 > 其他分享> > 使用Android AccountManager获取gdata的authtoken

使用Android AccountManager获取gdata的authtoken

作者:互联网

所以我试图同步到谷歌文档,而不必询问用户他的凭据.我使用此代码获取auth-token:

AccountManager mgr = AccountManager.get(activity);
authToken = mgr.blockingGetAuthToken(account, DocsService.DOCS_SERVICE, true);

这将返回一个看起来格式良好的身份验证令牌.所以在我的DocsService上运行:

service.setAuthSubToken(authToken);

但是,当我尝试使用API​​时,我只获得了AuthenticationException.有关如何处理此错误的任何想法?

编辑:我确实拥有USE_CREDENTIALS权限.

解决方法:

问题是返回的令牌是ClientLogin令牌,而不是AuthSub令牌.更大的问题是GData Java Client库没有正式支持Android.我们最近在GData Java客户端库的主页上添加了一条注释,对于Android,我们建议使用Google API Client Library for Java.

我们提出了两个示例,这些示例对您开始使用Google API Client Library for Java有用:calendar-v2-atom-android-sampledocs-v3-atom-oauth-sample

披露:我是GData Java Client库和Google API Client Client for Java项目的所有者.

标签:accountmanager,gdata,android,gdata-api,gdata-java-client
来源: https://codeday.me/bug/20190726/1545268.html