我有一个Android应用,我想在Google云端硬盘中创建一个新的电子表格并稍后阅读内容(用户将使用Google云端硬盘网络客户端向其添加数据)。
据我了解,我无法使用Spreadsheets API创建电子表格,因此我需要使用Drive API。让它们中的任何一个工作一直是与缺少类的斗争,并将不同的jar文件(其中一些似乎已经处于alpha状态一段时间)复制到我的lib目录中。我已经看到有些地方只是点击Eclipse中的某个按钮,但是我正在使用IntelliJ,虽然点击某个按钮似乎不是一个很好的方法来解决这个问题。
对于我正在尝试做的事情,我不需要太多的功能,我已经放弃了大量的jar文件。如何才能使用Android HTTP客户端和一些请求?
我可以使用AccountManager获取帐户和令牌,但无法执行像在列表中列出文件这样简单的操作,因为api url需要和api密钥,但不能是用户令牌。
如何完成以下任务:1。创建电子表格和2.使用普通的旧http请求读取其内容?
答案 0 :(得分:1)
您可以通过简单的HTTP GET和POST请求实现目标。
Here is a simple tutorial如何在Android上发出HTTP POST请求,您可以通过搜索更多内容轻松搜索更好的示例。
以下是如何创建空电子表格文件的示例
POST https://www.googleapis.com/drive/v2/files?key={YOUR_API_KEY}
Request Body:
{
"mimeType": "application/vnd.google-apps.spreadsheet",
"title": "My new spreadsheet",
"parents": [
{
"id": "{ROOT_FOLDER_ID}"
}
]
}
供您参考,您希望从Files.insert()
中寻找更多选项此外,为了获取电子表格的内容,您希望使用Files.list()。以下是如何使用Files.list()
的示例# Get list of files that are Google Drive spreadsheets
GET https://www.googleapis.com/drive/v2/files?q=mimeType%3D+%22application%2Fvnd.google-apps.spreadsheet%22&key={YOUR_API_KEY}
通过使用此命令,您将获得file resource的列表。在文件资源的长内容中,您需要exportLinks属性:
"exportLinks": {
"application/pdf": "https://docs.google.com/feeds/download/spreadsheets/Export?key={FILE_KEY}&exportFormat=pdf",
"application/x-vnd.oasis.opendocument.spreadsheet": "https://docs.google.com/feeds/download/spreadsheets/Export?key={FILE_KEY}&exportFormat=ods",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "https://docs.google.com/feeds/download/spreadsheets/Export?key={FILE_KEY}&exportFormat=xlsx"
},
使用此链接,您所要做的就是发出HTTP GET请求并从其正文中获取此文件的内容。
我建议您一般查看Google Drive API。
另外,如果你想使用Drive Spreadsheet进行一些复杂的工作,我建议你看一下Google Apps Script。
玩得开心!