1

我有一个 Android 应用程序,我想在 Google Drive 中创建一个新的电子表格并稍后将内容读回(用户将使用 Google Drive Web 客户端向其中添加数据)。

据我了解,我无法使用电子表格 API 创建电子表格,因此我需要使用 Drive API。让它们中的任何一个工作一直是与缺少类并将不同的 jar 文件(其中一些似乎已经处于 alpha 状态一段时间)复制到我的 lib 目录中的斗争。我见过一些地方说只需单击 Eclipse 中的某个按钮,但我使用的是 IntelliJ,尽管单击某个按钮似乎不是解决此问题的好方法。

对于我正在尝试做的事情,我不需要太多的功能,我已经放弃了让大量的 jar 文件来解决问题。我怎样才能让它与 Android HTTP 客户端和一些请求一起工作?

我可以使用 AccountManager 获取帐户和令牌,但无法执行简单的操作,例如在 Drive 中列出文件,因为 api url 需要和 api 密钥,而不是用户令牌。

我怎样才能完成 1. 创建电子表格和 2. 用普通的旧 http 请求读回其内容的任务?

4

1 回答 1

1

您可以通过简单的 HTTP GET 和 POST 请求来实现您的目标。

这是一个关于如何在 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}

通过使用此命令,您将获得文件资源列表。在文件资源的长内容中,您需要 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

玩得开心!

于 2013-06-03T17:51:24.437 回答