Android:将电子表格上传到Google Drive,并使用http客户端读取工作表内容

Android:将电子表格上传到Google Drive,并使用http客户端读取工作表内容,android,google-drive-api,Android,Google Drive Api,我有一个Android应用程序,我想在Google Drive中创建一个新的电子表格,稍后再读取内容(用户将使用Google Drive web客户端向其中添加数据) 据我所知,我无法使用电子表格API创建电子表格,因此我需要使用驱动器API。让它们中的任何一个正常工作都是一场与丢失类和将不同的jar文件(其中一些文件似乎已经处于alpha状态一段时间了)复制到我的lib目录的斗争。我见过一些地方说只需单击Eclipse中的某个按钮,但我正在使用IntelliJ,尽管单击某个按钮似乎不是一个好方

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

据我所知,我无法使用电子表格API创建电子表格,因此我需要使用驱动器API。让它们中的任何一个正常工作都是一场与丢失类和将不同的jar文件(其中一些文件似乎已经处于alpha状态一段时间了)复制到我的lib目录的斗争。我见过一些地方说只需单击Eclipse中的某个按钮,但我正在使用IntelliJ,尽管单击某个按钮似乎不是一个好方法

对于我试图做的,我不需要太多的特性,我已经放弃了让大量的jar文件工作。我怎样才能让它与Android HTTP客户端和一些请求一起工作

我可以使用AccountManager获取帐户和令牌,但无法完成像在驱动器中列出文件这样简单的操作,因为api url使用api url和api密钥,而不是用户令牌


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

您可以通过简单的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.list()的示例

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

我建议你大体上看一下

另外,如果你想使用硬盘电子表格进行一些复杂的工作,我建议你看看


玩得开心

您可以通过简单的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.list()的示例

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

我建议你大体上看一下

另外,如果你想使用硬盘电子表格进行一些复杂的工作,我建议你看看


玩得开心

谢谢你的回复!现在还不清楚我该怎么做。获取可用于API和2的用户令牌。将其用作请求的一部分。URL显示使用API密钥,但也是必需的。请遵循官方文档中的分步快速启动指南。它将向您展示如何生成API密钥和驱动器API的基础知识。我的问题来自于阅读了文档,但仍然不理解。我来到StackOverflow,希望有经验的人能帮上忙。谢谢你冗长的回复!现在还不清楚我该怎么做。获取可用于API和2的用户令牌。将其用作请求的一部分。URL显示使用API密钥,但也是必需的。请遵循官方文档中的分步快速启动指南。它将向您展示如何生成API密钥和驱动器API的基础知识。我的问题来自于阅读了文档,但仍然不理解。我来到StackOverflow,希望有经验的人能帮忙。