3

我们发现了 Google Docs/Drive API 的一个问题,该问题始终可重现,并且似乎是几周前引入的一个新错误。要查看问题,请执行以下步骤:

  1. 创建一个全新的 Google 帐户,但不要在该帐户中执行任何操作(不要单击 Drive 以查看 Google Drive)——只需创建它并关闭该窗口即可。
  2. 尝试通过 Google Docs API(我们使用 Zend GData)或新的 Google Drive API 插入一个新的(空的)文档。

结果:使用旧的 Google Docs API,会抛出错误“预期响应代码 200,得到 400。无法转换文档”(当我们只是创建新文档而不是上传内容时,这是没有意义的)。使用新的 Google Drive API,同样的事情会产生错误“发生错误:调用 POST googleapis.com/drive/v2/files 时出错:(500) 内部错误

这种情况继续发生,直到我进入新的 Google 帐户并单击“Drive”进入 Google Drive。这样做会为该用户“初始化”Google Drive,此时插入新文档的代码可以正常工作。

这只是最近才开始发生(在过去几周内)。在这种情况下,相同的代码已经存在多年,没有任何问题。在学校环境中,管理员正在创建新的学生帐户(如 Google Apps for Education 帐户),当他们使用我们的服务时,此问题会非常频繁地出现。这会被修复吗?有解决办法吗?帮助,谷歌 API 人!

4

1 回答 1

4

一个快速的解决方法是:

添加到范围:https ://www.googleapis.com/auth/drive.apps.readonly

在尝试创建新文档之前,请调用列出已安装的应用程序$service->apps->listApps(); 或文件列表$service->files->listFiles();

试试看这是否适合你。

于 2013-01-12T06:32:52.573 回答