Using Android AccountManager to get authtoken for gdata

*爱你&永不变心* 提交于 2019-12-04 13:49:19

问题


So I am trying to sync to google docs, without having to ask the user for his credentials. I use this code to get an auth-token:

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

This returns a auth-token that looks well-formated. So on my DocsService I run:

service.setAuthSubToken(authToken);

However, when I try to use the API I just get a AuthenticationException. Any ideas on how to approach this error?

edit: I do have the USE_CREDENTIALS permission.


回答1:


The problem is that the returned token is a ClientLogin token, not an AuthSub token. An even bigger problem is that the GData Java Client library does not officially support Android. We recently added a note on the home page of the GData Java Client library that for Android we recommend Google API Client Library for Java instead.

Two samples come up mind that would be helpful for you for getting started with Google API Client Library for Java: calendar-v2-atom-android-sample and docs-v3-atom-oauth-sample

Disclosure: I am an owner of both the GData Java Client library and Google API Client Library for Java projects.




回答2:


You might also want to take a look at Yaniv's Google I/O 2011 Session slides/video for reference on how to access the GData APIs on Android.

http://www.google.com/events/io/2011/sessions/best-practices-for-accessing-google-apis-on-android.html




回答3:


As Yaniv explained, Gdata Lib doesn't work in Android. I wasted several hour with no result. It looks pretty weird, its Google's product and still not supported in their own platform (Android).

Anyway I have developed a Client Library which works on Android. I am managing the project on Google Code- http://code.google.com/p/google-spreadsheet-lib-android/

You can give a try.



来源:https://stackoverflow.com/questions/3802198/using-android-accountmanager-to-get-authtoken-for-gdata

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!