2010-09-27 12 views
3

Alors j'essaie de synchroniser à google docs, sans avoir à demander à l'utilisateur ses informations d'identification. J'utilise ce code pour obtenir un auth-jeton:En utilisant Android AccountManager pour obtenir authtoken pour gdata

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

Ceci retourne une auth-jeton qui ressemble bien formatté. Donc, sur mon DocsService je lance:

service.setAuthSubToken(authToken); 

Cependant, lorsque je tente d'utiliser l'API que je viens d'obtenir un AuthenticationException. Des idées sur la façon d'aborder cette erreur?

edit: J'ai l'autorisation USE_CREDENTIALS.

Répondre

6

Le problème est que le jeton retourné est un jeton ClientLogin, pas un jeton AuthSub. Un problème encore plus important est que la bibliothèque GData Java Client ne prend pas officiellement en charge Android. Nous avons récemment ajouté une note sur la page d'accueil de la bibliothèque GData Java Client que pour Android, nous recommandons Google API Client Library for Java à la place.

Deux échantillons viennent l'esprit qui serait utile pour vous pour commencer avec Google API Client Library pour Java: calendar-v2-atom-android-sample et docs-v3-atom-oauth-sample

Divulgation: Je suis un propriétaire à la fois la bibliothèque GData Java Client et Google API client Bibliothèque pour les projets Java.

+0

thx lol, je vais essayer d'utiliser cette bibliothèque à la place. J'ai aussi fait une demande pour des google docs-samples plus complets, cela m'aiderait beaucoup :) – pgsandstrom

+1

Désolé, mais vos liens pour les exemples ne fonctionnent pas. Pourriez-vous poster de nouveaux liens? – Aram

0

Comme Yaniv l'a expliqué, Gdata Lib ne fonctionne pas sous Android. J'ai perdu plusieurs heures sans résultat. Il semble assez bizarre, son produit Google et toujours pas pris en charge dans leur propre plate-forme (Android).

En tout cas, j'ai développé une bibliothèque client qui fonctionne sur Android. Je gère le projet sur Google Code- http://code.google.com/p/google-spreadsheet-lib-android/

Vous pouvez essayer.

+0

Ouais, eh bien, la politique de Google consistant à traiter tout le monde de la même manière signifie qu'ils finissent par se tirer une balle dans le pied quand il s'agit de faire travailler un de leurs projets avec un autre projet. (IE, Google Services fonctionne bien avec Android, ce qui serait injuste pour iOS et Windows et Mac OS Non, le support de chaque plate-forme doit être égal.) – ArtOfWarfare