Google drive api 谷歌驱动Api-PHP-上传word文档-400错误请求

Google drive api 谷歌驱动Api-PHP-上传word文档-400错误请求,google-drive-api,Google Drive Api,我的最终目标是允许用户在个人帐户中将一些内容上传到google drive word文档中 我正在使用上提供的PHP示例。当上传一个简单的文本文件时,它可以正常工作 然后(在用mimetype application/msword浪费了将近8个小时之后。我不知道为什么这些文档不能更容易地找到这些常见的细节。)我用空数据将mimetype更改为application/vnd.google apps.document,效果非常好 然后,我在google drive web界面上创建了一个文档文件,然

我的最终目标是允许用户在个人帐户中将一些内容上传到google drive word文档中

我正在使用上提供的PHP示例。当上传一个简单的文本文件时,它可以正常工作

然后(在用mimetype application/msword浪费了将近8个小时之后。我不知道为什么这些文档不能更容易地找到这些常见的细节。)我用空数据将mimetype更改为application/vnd.google apps.document,效果非常好

然后,我在google drive web界面上创建了一个文档文件,然后将其导出到我的机器上。它被保存为docx。然后在这个例子中,这个文件被用作数据源,我不断得到错误调用POST:(400)错误请求错误

错误消息甚至没有提供关于请求错误的更多细节

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

您可能必须将Word文件的内容作为字符串放入$request['content']

如果是.DOCX,则正确的MIME类型为:

application/vnd.openxmlformats-officedocument.wordprocessingml.document
参考:

那么,一个人应该如何通过回应而不是产生它的请求来判断哪里出了问题呢

你也许可以写“HTTP400-垃圾不起作用”来代替

这将提供相当数量的信息

HTTP响应代码#400一般指

HTTP请求的格式不正确(例如缺少参数、未正确转义等)

^…根据样本响应,这肯定是正确的答案

这就是为什么提供的信息不足以给你一个直接的答案的原因。我还希望API在响应中有更多的细节(特别是偶尔出现的文件验证错误),因为有时候人们只能猜测“另一边”出了什么问题

最佳实践是从一个非常简单的工作版本开始,然后增加一些复杂性

如果您希望审查/解决问题,您应该添加一个示例请求

当请求的格式明显错误时,代码看起来如何都无关紧要


普通的我提供web脚本作为一项服务,只是目前有点资源不足。

您想创建Google文档还是二进制MSWord文件?当您不使用mime类型时会发生什么情况?用户在数据库中存储了简单的格式化文本(javascript wsgi编辑器)。用户应该能够创建一个空的google文档或一个包含此格式化文本的新google文档。更新:如果我不使用mimetype,代码工作正常。但是我也无法编辑该文件<代码>无可用预览此项目是使用Google Drive应用程序My App Test创建的。下载此文件或使用您安装的某个应用程序打开它。Hi Ali,有什么建议吗?还是不走运。我相信,由于文档是gdrive的主要目标,因此使用API创建包含内容的新word文档应该是一项有效且有文档记录的功能。Google drive doc提到了一种不同的mimetype(application/vnd.Google apps.document)$file=new Google_DriveFile()$文件->设置标题($title)$file->setMimeType('application/vnd.openxmlformats officedocument.wordprocessingml.document')//$文件->设置MIMETYPE($MIMETYPE)$数据=''$createdFile=$service->files->insert($file,array('data'=>$data));我在谷歌硬盘上创建了一个文件并下载了它。将文件内容添加为$data并使用指定的mimetype。它正在工作,但不可编辑。