Question

Je travaille sur une application Android qui utilise le client gdata-java pour télécharger les documents pour l'affichage uniquement. Jusqu'à présent, j'ai une application qui authentifie les services et affiche une liste de documents de l'utilisateur. Lorsque l'utilisateur sélectionne un document autre requête est faite pour les documents lui-même. Une demande de txt, html, rtf et doc fonctionne bien, mais quand je demande une feuille de calcul dans .csv ou .XSL formater le résultat est inattendu.

J'utilise pour stocker le résultat d'un un HTTPRequest un objet HTTPResponse. Quand je demande un document en .csv ou .XSL formater la méthode HTTPResponse.parseAsString () produit une page html entière qui semble être la page d'accueil de Google Docs. Ça a l'air étrange, mais le résultat est le code HTML réel pour la page de connexion. Le HTTPResponse.getStatusMessage retourne un 200.

On dirait que je manque quelque chose de simple ici. Y at-il une autre propriété du HTTPResponse qui contient les données .csv?

Je suis assez sûr que je suis en utilisant le uri correct pour le téléchargement des feuilles de calcul, car il fonctionne quand je télécharger dans mon navigateur. Dans tous les cas ici est un exemple uri:

https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=0AsE_6_YIr797dHBTUWlHMUFXeTV4ZzJlUGxWRnJXanc&exportFormat=csv

Merci d'avance pour toute aide:)

Était-ce utile?

La solution

Je ne suis pas assez familier avec l'API Documents List de savoir, mais de votre description, il semble que vous avez peut-être rencontré un bogue dans l'API de liste de documents, et il me semble comme un problème important à résoudre.

S'il vous plaît signaler votre problème sur la liste des documents forum API pour augmenter les chances que quelqu'un bien informé serait en mesure de se pencher sur cette question:

http://www.google .com / support / forum / p / apps-apis / étiquette? lid = 5c316c702e844c99 & hl = fr

Autres conseils

Je ne l'ai pas vu votre code, mais très certainement la question est que vous utilisez ClientLogin, et sont authentifiés pour l'API Liste des documents à l'aide du service « Writely ». Toutefois, étant donné que l'exportation d'une feuille de calcul frappera spreadsheets.google.com, vous aurez besoin d'utiliser ClientLogin pour authentifier contre le service « sage ». De Java, cela signifie que l'aide de la bibliothèque client Java Spreadsheets, qui est documenté ici: http://code.google.com/apis/documents/docs /3.0/developers_guide_java.html#DownloadingSpreadsheets

Notez la note intitulée « Important en haut là-bas, qui relie ici: http://code.google.com/apis/documents/docs /3.0/developers_guide_java.html#DownloadingSpreadsheetsClientLogin

A ce lien, en utilisant une instance SpreadsheetClient est détaillée.

Bonne chance:)

Il est 2017, et il y a une toute nouvelle façon de faire les choses maintenant. GData, les API GData comme l'API liste de documents, ClientLogin et lecteur télécharger les URL sont désormais obsolètes. A leur place, sont une API Drive, une API Sheets, et d'une manière plus native de l'intégration des technologies Google à partir des applications Android: API Google client Library Android. Il y a aussi un API Google Client Library pour Java si vous faites server- côté place.

Si vous souhaitez effectuer opérations de documents sur des feuilles de calcul à orientation, vous devez utiliser les API Google Sheets et ce, en utilisant la bibliothèque du client ci-dessus. Voici maintenant quelques exemples ... voici la Android exemple de code QuickStart ainsi que le plus général Java code QuickStart exemple pour l'API Sheets. Ne peut pas nuire à passer le long de la JavaDocs référence l'API Sheets soit. La dernière API Sheets fournit des fonctionnalités non disponibles dans les versions plus anciennes, à savoir donner aux développeurs un accès programmatique orienté document à une feuille comme si vous utilisez l'interface utilisateur (créer des lignes figées, effectuer la mise en forme des cellules, le redimensionnement des lignes / colonnes, ajouter des tableaux croisés dynamiques, créant graphiques, etc.)

Cependant, pour effectuer fichier accès -level, comme dans la question de l'OP, vous devez utiliser les API Google Drive . Il y a même un API Google Drive pour Android , y compris un page docs spécifiquement sur la récupération contenu du document . Si vous êtes nouveau à cette bibliothèque, voici la API Drive Android app échantillon QuickStart et comme autres exemples de code pour vous aider à démarrer. Voici le Drive API pour docs de référence de classe Android aussi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top