【问题标题】:400 Bad Request when attempting to import CSV file into Google Drive Spreadsheet尝试将 CSV 文件导入 Google Drive 电子表格时出现 400 错误请求
【发布时间】:2019-05-07 23:30:17
【问题描述】:

我正在使用Drive API files/create 将文件上传到 Google 云端硬盘。只要我不指定mimeType 或除application/vnd.google-apps.spreadsheet 之外的任何内容,一切都很好。

这是我的要求:

响应是 400,正文不太有用:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "badRequest",
    "message": "Bad Request"
   }
  ],
  "code": 400,
  "message": "Bad Request"
 }
}

我尝试将mimeType 设置为text/csv,效果很好。我什至尝试请求https://www.googleapis.com/drive/v3/about,有趣的是他们将我的导入列为有效:

"text/csv": [
  "application/vnd.google-apps.spreadsheet"
],

但实际上并非如此。我是不是做错了什么?

【问题讨论】:

  • 关于import CSV file into Google Drive Spreadsheet,您想将CSV 文件的值放到现有的电子表格中吗?或者您想将上传的 CSV 文件创建为新的电子表格?或者您想使用带有 Drive API 的 CSV 文件更新现有的电子表格?顺便问一下,你能提供你当前的脚本吗?
  • 这是一个全新的文件(如您所见,我使用的是files/create 端点)。该脚本有点复杂(我们有添加标头等的常用方法),但基本上它会产生如上所示的请求,并且您已经可以使用该信息重现问题。
  • 感谢您的回复。我提出2个修改点。你能确认一下吗?如果这不是直接的解决方案,我深表歉意。

标签: javascript google-sheets google-drive-api data-conversion


【解决方案1】:

这个修改怎么样?虽然我不确定您的脚本和 CSV 数据,但从您的请求正文中,我提出以下 2 个修改点。能不能修改以下几点,重新运行试试?我建议删除以下2行最后一个字母的;

发件人:

Content-Type: application/json;charset=utf-8;

收件人:

Content-Type: application/json;charset=utf-8

发件人:

Content-Type: text/csv;charset=utf-8;

收件人:

Content-Type: text/csv;charset=utf-8

【讨论】:

  • 对于任何怀疑这个答案的人,我不相信这会奏效。尽管如此,尝试并没有什么坏处,而且确实有效……谢谢。
  • @Luke Vo 感谢您的回复。很高兴您的问题得到解决。
猜你喜欢
  • 1970-01-01
  • 2015-12-12
  • 1970-01-01
  • 2019-09-12
  • 1970-01-01
  • 1970-01-01
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多