Pregunta

Estoy trabajando en una aplicación para Android que utiliza el gdata-java-cliente para descargar documentos por sólo pantalla. Hasta ahora tengo una aplicación que se autentica con los servicios y muestra una lista de documentos del usuario. Cuando el usuario selecciona un documento de otra consulta se hace para el propio documento. La solicitud de TXT, HTML, RTF y archivos doc funciona bien, sin embargo, cuando solicito una hoja de cálculo en .csv o .xsl formatear el resultado es inesperado.

Estoy usando un objeto HTTPResponse para almacenar el resultado de un una HTTPRequest. Cuando solicito un documento en .csv o .xsl formatear el método HTTPResponse.parseAsString () produce una página entera html que parece ser la página principal de Google Docs. Suena extraño, pero el resultado es el HTML real de la página de inicio de sesión. El HTTPResponse.getStatusMessage devuelve un 200.

Parece que me estoy perdiendo algo simple aquí. ¿Hay alguna otra propiedad del HTTPResponse que contiene los datos .csv?

Estoy bastante seguro de que estoy usando el URI correcto para la descarga de hojas de cálculo, ya que funciona al descargar a través de mi navegador. En cualquier caso, aquí es una URI ejemplo:

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

Gracias de antemano por cualquier ayuda:)

¿Fue útil?

Solución

No estoy lo suficientemente familiarizado con los documentos Lista API saber, pero a partir de su descripción suena como que puede haber encontrado un error en la API de lista de documentos, y suena a mí como un importante problema de solucionar.

Por favor, informar acerca del problema en el foro de la API de lista de documentos para aumentar la probabilidad de que alguien con conocimientos sería capaz de mirar en este tema:

http://www.google .com / support / foro / p / aplicaciones-apis / etiqueta? lid = 5c316c702e844c99 & hl = es

Otros consejos

No he visto su código, pero sin duda el problema es que usted está utilizando ClientLogin y se autentican para la API de lista de documentos utilizando el servicio 'writely'. Sin embargo, dado que la exportación de una hoja de cálculo llegará a spreadsheets.google.com, tendrá que utilizar ClientLogin para autenticar contra el servicio 'sabia'. A partir de Java, que mediante el uso de la biblioteca de cliente Java de hojas de cálculo, que se documenta aquí: http://code.google.com/apis/documents/docs /3.0/developers_guide_java.html#DownloadingSpreadsheets

Tenga en cuenta la nota de la etiqueta ' Importante: ' en la parte superior hay, que enlaza aquí: http://code.google.com/apis/documents/docs /3.0/developers_guide_java.html#DownloadingSpreadsheetsClientLogin

En ese enlace, usando un ejemplo SpreadsheetClient se detalla.

Buena suerte:)

Es 2017, y hay una forma completamente nueva de hacer las cosas ahora. GData, GData API como la API de lista de documentos, ClientLogin, y la unidad de descarga URLs son todos ahora obsoleto. En su lugar son una API de Drive, una API de hojas de cálculo y de una manera más natural de la integración con las tecnologías de Google de Android: la Google API Client Library para Android . También hay un Google API Client Library para Java si está haciendo en servidor lado en vez.

Si desea realizar documento -oriented operaciones en hojas de cálculo, que haría uso de la Google hojas de API y lo hacen mediante la biblioteca cliente anterior. Ahora, para algunos ejemplos ... aquí está el Android inicio rápido código de la muestra, así como la más general de Java código de ejemplo de inicio rápido para la API de hojas. no puede hacer daño a pasar a lo largo de la referencia de JavaDocs la API Sheets tampoco. La última API de hojas proporciona características no disponibles en versiones anteriores, es decir, dando a los desarrolladores acceso a la programación orientada a documentos de una hoja como si estuviera utilizando la interfaz de usuario (crear filas congeladas, lleve a cabo el formato de celdas, cambiar el tamaño de filas / columnas, añadir tablas dinámicas, creando gráficos, etc.)

Sin embargo, para llevar a cabo archivo acceso -level, como en la pregunta de la OP, tendrá que utilizar el Google Drive API . Incluso hay un API de Google Drive para Android , incluyendo un página de documentos específicamente en el contenido del documento recuperar . Si usted es nuevo en esta biblioteca, aquí está el Drive API de Android Inicio rápido de la muestra aplicación, así como otros ejemplos de código para empezar. Aquí están los href="https://developers.google.com/android/reference/com/google/android/gms/drive/package-summary" rel="nofollow noreferrer"> Drive API también.

scroll top