Pergunta

Estou trabalhando em um aplicativo Android que usa o GDATA-JAVA-Client para baixar apenas documentos para exibição. Até agora, tenho um aplicativo que autentica com os Serviços e exibe uma lista de documentos do usuário. Quando o usuário seleciona um documento, outra consulta é feita para os próprios documentos. Uma solicitação de arquivos TXT, HTML, RTF e DOC funciona bem, no entanto, quando solicito uma planilha no formato .csv ou .xsl, o resultado é inesperado.

Estou usando um objeto HTTPRESPOnsion para armazenar o resultado de um httprequest. Quando solicito um documento no formato .csv ou .xsl, o método httproponse.parseasstring () produz uma página inteira HTML que parece ser a página inicial do Google Docs. Parece estranho, mas o resultado é o HTML real para a página de login. O httproponse.getStatusMessage retorna 200.

Parece que estou perdendo algo simples aqui. Existe outra propriedade do HTTPRESPSE que contém os dados .CSV?

Tenho certeza de que estou usando o URI correto para baixar planilhas porque funciona quando eu baixará através do meu navegador. De qualquer forma, aqui está um exemplo de URI:

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

Agradecemos antecipadamente por qualquer ajuda :)

Foi útil?

Solução

Não estou familiarizado o suficiente com a API da lista de documentos para saber, mas, pela sua descrição, parece que você pode ter encontrado um bug na API da lista de documentos e me parece um problema importante a ser corrigido.

Por favor, relate seu problema no fórum da API da Lista de Documentos para aumentar a chance de alguém conhecedor que seja capaz de analisar esse problema:

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

Outras dicas

Eu não vi seu código, mas certamente o problema é que você está usando o ClientLogin e é autenticado para a API da Lista de Documentos usando o serviço 'Writely'. No entanto, como a exportação de uma planilha atingirá as planilhas. De Java, isso significa usar as planilhas Java Client Library, que está documentada aqui:http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#downloadingspreadsheets

Observe a nota marcada 'Importante'No topo, que vincula aqui:http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#downloadingspreadsheetsclientLogin

Nesse link, o uso de uma instância do SpreadsheetClient é detalhado.

Boa sorte :)

É 2017, e há uma maneira completamente nova de fazer as coisas agora. GDATA, APIs GDATA como a API da Lista de Documentos, ClientLogin e URLs de download de Drive estão agora obsoletos. Em seu lugar, há uma API de unidade, uma API de folhas e uma maneira mais nativa de integrar com o Google Technologies a partir de aplicativos Android: o Biblioteca de clientes do Google APIs para Android. Há também um Biblioteca de clientes do Google APIs para Java Se você está fazendo o lado do servidor.

Se você quiser executar documento-Operações orientadas para as planilhas, você usaria o API do Google Sheets e faça isso usando a biblioteca do cliente acima. Agora, para alguns exemplos ... aqui está o Amostra de código do Android QuickStart bem como o mais geral Java QuickStart Code Sample Para a API das folhas. Não posso doer passar ao longo do Referência de Javadocs para a API das folhas qualquer. A API mais recente de folhas fornece recursos não disponíveis em lançamentos mais antigos, ou seja, dando aos desenvolvedores o acesso programático de documentos a uma folha como se você estivesse usando a interface do usuário (crie linhas congeladas, execute formatação de células, redes de linhas/colunas de redimensionamento, adicionando tabelas Pivot, criando gráficos, etc.)

No entanto, para realizar Arquivo-C acesso no nível, como na pergunta do OP, você usaria o API do Google Drive. Existe até um API do Google Drive para Android, incluindo um Página de documentos especificamente na recuperação do conteúdo do documento. Se você é novo nesta biblioteca, aqui está o DIVER API API ANDROID APP assim como Outras amostras de código Para começar a começar. Aqui está o Dirija a API para documentos de referência da classe Android também.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top