使用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-sample和docs-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