如何通过Drive SDK更新原生Google Drive电子表格文件的内容?

时间:2014-03-15 11:30:18

标签: php google-drive-api google-api-php-client

我正在尝试使用PHP客户端通过Drive SDK更新文件的内容。该文件以原生的Drive Spreadsheet格式保存。

我当前的算法如下:

  1. 使用Drive SDK下载文件;我使用getExportLinks()将电子表格转换并下载为XLSX文件(mime“application / vnd.openxmlformats-officedocument.spreadsheetml.sheet”)

  2. 我在服务器上编辑下载的文件并以XLSX格式保存

  3. 我正在尝试使用此代码(PHP)上传它:https://developers.google.com/drive/v2/reference/files/update

  4. 一切正常,只有第3点失败。无论我如何使用选项,无论我是否尝试上传CSV或XLSX文件,无论我是否使用“转换”选项,Google都会以(500) Internal Error meessage回复我。

    我一直在玩代码和谷歌搜索几个小时。最后,我发现只有在我尝试更新非原生格式时,我的代码才能正常工作。我在我的驱动器上创建了XLSX文件,我的代码更新后没有任何问题。我在原生电子表格文件上尝试了相同的代码,我再次获得了(500) Internal Error

    我发现更新本机文件的元信息可以正常工作。我可以编辑标题,描述没有问题。只有在我尝试更新内容时,代码才会失败。

    是否有可能更新原生Drive电子表格文件的内容?或者是否有一些解决方法让它工作?任何评论都会有所帮助。

    感谢您的时间。

1 个答案:

答案 0 :(得分:1)

这样做很疯狂,因为上传xlsx文件会导致无法更新现有文件。谷歌的'谷歌电子表格api',只适用于'旧'表。