5

我正在使用gdata-java-client下載文檔以供顯示的Android應用程序。到目前爲止,我有一個應用程序與服務進行身份驗證,並顯示用戶文檔的列表。當用戶選擇文檔時,對文檔本身進行另一個查詢。對txt,html,rtf和doc文件的請求效果很好,但是當我以.csv或.xsl格式請求電子表格時,結果是意外的。從Android上的Google Drive下載Google表格電子表格

我使用HTTPResponse對象來存儲HTTPRequest的結果。當我以.csv或.xsl格式請求文檔時,HTTPResponse.parseAsString()方法會生成整個html頁面,這似乎是Google Docs主頁。聽起來很奇怪,但結果是登錄頁面的實際html。 HTTPResponse.getStatusMessage返回一個200.

好像我缺少一些簡單的東西。 HTTPResponse的另一個屬性是否包含.csv數據?

我非常肯定,我使用正確的uri下載電子表格,因爲它可以在我通過瀏覽器下載時正常工作。在這裏任何情況下就是一個例子URI:

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

預先感謝任何幫助:)

+0

如果您不介意,您是否會添加「google-api-java-client」標籤? – 2010-09-21 17:16:55

+0

@Jason Hall 我很好奇,你爲什麼這麼編輯原始問題? – JeremyFromEarth 2010-09-21 18:01:51

+0

AFAIK我做的唯一更改是刪除「gdata-java-client」並添加「google-api-java-client」 - 請參閱http://stackoverflow.com/posts/2813470/revisions – 2010-09-21 19:54:06

回答

5

我還沒有看到你的代碼,但肯定問題在於您正在使用ClientLogin,並且使用'writely'服務對文檔列表API進行了身份驗證。但是,由於導出電子表格會觸發spreadsheets.google.com,因此您需要使用ClientLogin來針對「明智」的服務進行身份驗證。從Java,這意味着使用電子表格的Java客戶端庫,這是記錄在這裏: http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#DownloadingSpreadsheets

注意注意頂部有標有「重要」,哪個環節在這裏: http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#DownloadingSpreadsheetsClientLogin

在那個鏈接,詳細介紹了使用SpreadsheetClient實例。

祝你好運:)

+0

這顯示不贊成使用的API。 – Youngjae 2014-04-06 01:57:02

0

這是2017年,現在有一種全新的做事方式。 GData,GData API(如文檔列表API,ClientLogin和雲端硬盤下載URL)現在都已過時。取而代之的是一個Drive API,一個Sheets API,以及一種更加本地的方式來集成來自Android應用的Google技術:Google APIs Client Library for Android。如果你在做服務器端,也有Google APIs Client Library for Java

如果你想在電子表格進行文件取向的操作,你會使用Google Sheets API和這樣做使用上面的客戶端庫。現在舉一些例子...這裏是Android quickstart code sample以及Sheets API更通用的Java quickstart code sample。也不能傷害傳遞JavaDocs reference for the Sheets API。最新的Sheets API提供了舊版本中不可用的功能,即爲開發人員提供了對工作表的面向文檔的訪問,就像您使用用戶界面一樣(創建凍結行,執行單元格格式化,調整行/列大小,添加數據透視表,創建圖表等)

但是,要執行文件級別的訪問,例如在OP的問題中,您可以使用Google Drive API。甚至有一個Google Drive API for Android,包括一個docs page specifically on retrieving document contents。如果您不熟悉此庫,請參閱Drive API Android quickstart sample app以及other code samples以幫助您入門。這裏也是Drive API for Android class reference docs

相關問題