我正在开发一个Android应用程序,它使用gdata-java-client来下载仅用于显示的文档。到目前为止,我有一个应用程序,它通过服务进行身份验证并显示用户文档的列表。当用户选择一个文档时,会对文档本身进行另一个查询。txt、html、rtf和doc文件的请求运行良好,但是当我请求.csv或.xsl格式的电子表格时,结果是意想不到的。
我使用HTTPResponse对象来存储HTTPRequest的结果。当我请求.csv或.xsl格式的文档时,HTTPResponse.parseAsString()方法会生成一个完整的html页面,该页面看起来就像Google Docs主页。听起来很奇怪,但结果是登录页面的实际html。HTTPResponse.getStatusMessage返回200。
似乎我在这里遗漏了一些简单的东西。是否有包含.csv数据的HTTPResponse的其他属性?
我非常确定我使用了正确的uri来下载电子表格,因为当我通过我的浏览器下载时,它是有效的。在任何情况下,以下都是一个示例uri:
https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=0AsE_6_YIr797dHBTUWlHMUFXeTV4ZzJlUGxWRnJXanc&exportFormat=csv提前感谢您的帮助:)
发布于 2010-05-17 04:03:13
我对Documents List API还不够熟悉,但从您的描述来看,您可能在Documents List API中遇到了一个bug,而且在我看来,这是一个需要解决的重要问题。
请在Documents List API论坛上报告您的问题,以增加有知识的人能够调查此问题的机会:
http://www.google.com/support/forum/p/apps-apis/label?lid=5c316c702e844c99&hl=en
发布于 2010-05-30 11:41:16
我没有看到你的代码,但最确定的问题是你使用的是ClientLogin,并且使用'writely‘服务通过了文档列表应用编程接口的认证。但是,由于导出电子表格将命中spreadsheets.google.com,因此您需要使用ClientLogin来针对“wise”服务进行身份验证。在Java语言中,这意味着使用Spreadsheets客户端库,文档如下:http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#DownloadingSpreadsheets
注意顶部标有'Important‘的注释,它链接到这里:http://code.google.com/apis/documents/docs/3.0/developers_guide_java.html#DownloadingSpreadsheetsClientLogin
在该链接中,将详细介绍如何使用SpreadsheetClient实例。
祝你好运:)
发布于 2017-03-07 13:37:50
现在是2017年,现在有了一种全新的做事方式。GData、GData API,如Documents List API、ClientLogin和驱动器下载URL现在都已过时。取而代之的是Drive API,Sheets API,以及从安卓应用程序与谷歌技术集成的一种更本地的方式:Google APIs Client Library for Android。如果你是在服务器端做的话,还有一个Google APIs Client Library for Java。
如果你想在电子表格上执行document-oriented操作,你应该使用Google Sheets API并使用上面的客户端库来完成。现在举几个例子。下面是Sheets API的Android quickstart code sample和更通用的Java quickstart code sample。传递JavaDocs reference for the Sheets API也无伤大雅。最新的Sheets API提供了旧版本中不可用的功能,即允许开发人员以面向文档的编程方式访问工作表,就像您在使用用户界面一样(创建冻结行、执行单元格格式、调整行/列大小、添加透视表、创建图表等)。
但是,要执行文件-level访问,例如在OP的问题中,您将使用Google Drive API。甚至还有一个包括docs page specifically on retrieving document contents在内的Google Drive API for Android。如果你是这个库的新手,这里有Drive API Android quickstart sample app和other code samples可以帮助你入门。这也是Drive API for Android class reference docs。
https://stackoverflow.com/questions/2813470
复制相似问题