google-drive-api - Google Docs/Drive API 不允许将新文档插入新的 Google 帐户

标签 google-drive-api google-docs-api

我们发现了一个与 Google 文档/Drive API 相关的问题,该问题始终可重现,并且似乎是几周前引入的一个新错误。要查看问题,请按照以下步骤操作:

  1. 创建一个全新的 Google 帐户,但不要在该帐户中执行任何操作(不要单击云端硬盘以查看 Google 云端硬盘)- 只需创建它并关闭该窗口即可。
  2. 尝试通过 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/

相关文章:

google-drive-api - 拒绝在框架中显示,因为它将 'X-Frame-Options' 设置为 'SAMEORIGIN'

google-drive-api - Google Drive API downloadUrl 不起作用

python - 如何使用 Google Drive API 一次删除多个文件

google-docs - 通过 Google Docs 或 Spreadsheet API 将新工作表添加到 Google 电子表格

google-docs-api - 如何解决使用 Google Apps 脚本从集合中删除资源时出现的 ETag 错误

google-drive-api - 如何使用 Google Drive 作为一种 CDN

google-apps-script - Google应用程序脚本仅在运行完成后更新文档的更改。我可以强制刷新之前吗?

javascript - 通过 GAS 将存储在云端硬盘文件夹中的图像添加到 Google 文档

google-docs - 指定匿名打开 Google 云端硬盘文档时的用户显示名称

javascript - 无法使用 API 在 Google 云端硬盘中打开上传的文件