我们发现了一个与 Google 文档/Drive API 相关的问题,该问题始终可重现,并且似乎是几周前引入的一个新错误。要查看问题,请按照以下步骤操作:
- 创建一个全新的 Google 帐户,但不要在该帐户中执行任何操作(不要单击云端硬盘以查看 Google 云端硬盘)- 只需创建它并关闭该窗口即可。
- 尝试通过 Google Docs API(为此我们使用 Zend GData)或新的 Google Drive API 插入一个新的(空的)文档。
结果:使用旧的 Google Docs API,抛出错误“Expected response code 200, got 400. Unable to convert document”(当我们只是创建一个新文档时这是没有意义的,而不是上传东西)。使用新的 Google Drive API,同样的事情会产生错误“发生错误:调用 POST googleapis.com/drive/v2/files 时出错:(500) 内部错误”
这种情况会一直发生,直到我进入那个新的 Google 帐户并单击“Drive”进入 Google Drive。这样做会为该用户“初始化”Google 云端硬盘,此时插入新文档的代码可以正常工作。
这只是最近才开始发生的(在过去几周内)。相同的代码已经存在多年,在这种情况下没有任何问题。在学校环境中,管理员正在创建新的学生帐户(如 Google Apps for Education 帐户),这个问题在他们使用我们的服务时经常出现。这会被修复吗?有解决方法吗?帮助,Google API 的 friend 们!
最佳答案
一个快速的解决方法是:
添加到范围:https://www.googleapis.com/auth/drive.apps.readonly
在尝试创建新文档之前,调用列出已安装的应用程序 $service->apps->listApps(); 或文件列表 $service->files->listFiles ();
试试看这是否适合您。
关于google-drive-api - Google Docs/Drive API 不允许将新文档插入新的 Google 帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14288836/