Domanda

Sto lavorando su un app Android che utilizza la GData-java-client per scaricare i documenti solo per la visualizzazione. Finora ho un'applicazione che esegue l'autenticazione con i servizi e visualizza un elenco di documenti dell'utente. Quando l'utente seleziona un documento un'altra domanda è fatta per i documenti stesso. Una richiesta di TXT, HTML, RTF e file DOC funziona bene, ma quando chiedo un foglio di calcolo sia in .csv o .xsl formattare il risultato è inaspettato.

sto usando un oggetto HTTPResponse per memorizzare il risultato di un un HTTPRequest. Quando richiedo un documento in formato .csv o .xsl formattare il metodo HTTPResponse.parseAsString () produce una intera pagina html che sembra essere la home page di Google Documenti. Suona strano, ma il risultato è il codice html effettivo per la pagina di login. Il HTTPResponse.getStatusMessage restituisce un 200.

Sembra che mi manca qualcosa di semplice qui. C'è un altro di proprietà della HTTPResponse che contiene i dati .csv?

Sono abbastanza sicuro che sto usando le uri corretti per il download di fogli di calcolo perché funziona quando si scarica attraverso il mio browser. In ogni caso, ecco un esempio uri:

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

Grazie in anticipo per qualsiasi aiuto:)

È stato utile?

Soluzione

Non sono abbastanza familiarità con i documenti Lista API per sapere, ma dalla tua descrizione suona come si può avere incontrato un bug nel API Documents List, e suona per me come un problema importante da risolvere.

Si prega di segnalare il problema al forum Documents List API per aumentare la possibilità che qualcuno esperto sarebbe in grado di esaminare il problema:

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

Altri suggerimenti

Non ho visto il tuo codice, ma certamente il problema è che si sta utilizzando ClientLogin, e sono autenticati per l'API Documents List utilizzando il 'Writely' di servizio. Tuttavia, dal momento che l'esportazione di un foglio di calcolo colpirà spreadsheets.google.com, è necessario utilizzare per l'autenticazione ClientLogin contro il servizio 'saggi'. Da Java, che significa usare la libreria client Fogli di calcolo Java, che è documentato qui: http://code.google.com/apis/documents/docs /3.0/developers_guide_java.html#DownloadingSpreadsheets

Si noti la nota etichetta ' Importante ' in alto là, che collega qui: http://code.google.com/apis/documents/docs /3.0/developers_guide_java.html#DownloadingSpreadsheetsClientLogin

A quel link, utilizzando un'istanza SpreadsheetClient è dettagliata.

Buona fortuna:)

E 'il 2017, e c'è un modo completamente nuovo di fare le cose ora. GData, API GData come l'API Documents List, ClientLogin, e Drive scaricare gli URL sono tutti ormai obsoleti. Al loro posto sono un'API Drive, un'API fogli, e un modo più originario di integrazione con Google tecnologie da Android Apps: Google API libreria client per Android . C'è anche un Google API libreria client per Java se si sta facendo su server lato, invece.

Se si desidera eseguire documento le operazioni di -oriented su fogli di calcolo, utilizza il Google Fogli API e fare in modo da utilizzare la libreria client di cui sopra. Ora per alcuni esempi ... ecco la Android QuickStart codice di esempio così come la più generale Java quickstart codice di esempio per l'API fogli. Non può far male a passare lungo il riferimento JavaDocs per il Fogli API neanche. L'ultima Fogli API fornisce funzionalità non disponibili nelle versioni più vecchie, cioè offrendo agli sviluppatori l'accesso programmatico documento-oriented per un foglio, come se si stesse utilizzando l'interfaccia utente (creare righe congelati, eseguire la formattazione delle celle, il ridimensionamento delle righe / colonne, l'aggiunta di tabelle pivot, la creazione di grafici, ecc.)

Tuttavia, per eseguire file accesso -level, come ad esempio nella domanda del PO, utilizza il Google drive API . C'è anche un Google Drive per Android API , tra cui un pagina documenti in particolare sul recupero dei contenuti del documento . Se siete nuovi a questa libreria, ecco il Unità API Android app QuickStart esempio pure come altri esempi di codice per iniziare. Ecco i Drive API per documenti di riferimento classe Android troppo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top