什么可能导致“经过身份验证的用户可能没有授予应用程序69xxx995对文件0B6Bxxx的所有子项的写访问权限”,?

时间:2013-09-02 14:51:50

标签: google-drive-api

我的应用会创建一个云端硬盘文件夹,然后将100个文件上传到其中。 使用我的应用程序,我可以单独阅读,更新和删除文件。

但是,如果我尝试删除该文件夹,我会收到“经过身份验证的用户可能没有授予应用程序698xxx995对文件0B6B-xxx的所有子项的写入权限。”

NB。上传是使用服务器完成的,删除操作是在Javascript中完成的。

我正在使用我的应用程序的drive.file范围,如建议的那样。

有什么想法吗?

以下是步骤......

  1. 使用服务器,创建一个包含100个文件的文件夹
  2. 尝试使用客户端删除文件夹,获取403
  3. 使用相同的客户端,我删除文件夹中的每个文件。没问题所以现在文件夹是空的
  4. 尝试删除文件夹,获取关于孩子的403

4 个答案:

答案 0 :(得分:2)

对于有类似错误的人,也许您可​​以查看应用的范围,将https://www.googleapis.com/auth/drive.file更改为https://www.googleapis.com/auth/drive

我花了几个小时才知道发生了什么。

详细信息:https://developers.google.com/drive/web/scopes

答案 1 :(得分:0)

您用于服务器和客户端的OAuth 2.0凭据应来自同一个API控制台项目。

答案 2 :(得分:0)

这是一个可重新创建的错误。 使用403 rate limit on insert sometimes succeeds中的代码...

  1. 创建一个包含97个文件的文件夹
  2. 删除它(POST到垃圾网址)
  3. 观察200响应,文件夹和文件消失
  4. 创建包含100个文件的文件夹
  5. 删除它(POST到垃圾网址)
  6. 观察403经过身份验证的用户可能未授予应用程序698xxx995对文件0Bxxx的所有子项的写访问权
  7. 删除包含97个文件的文件夹时发布

    Request URL:https://content.googleapis.com/drive/v2/files/0Bw3h_yCVtXbg/trash
    Request Method:POST
    Status Code:200 OK
    

    删除包含100个文件的文件夹时发布

    Request URL:https://content.googleapis.com/drive/v2/files/0Bw3h_/trash
    Request method:POST
    Status Code:403 Forbidden
    

答案 3 :(得分:0)

尝试删除包含其他嵌套文件夹的文件夹时,我发生了类似的事情。经过一些实验,我发现我能够通过在删除父文件夹之前删除所有子文件夹来防止错误,而不是仅仅尝试删除单个顶级父文件夹。

当删除仅包含各种文件(文本文件,图像等)的文件夹时,我还没有遇到此错误。当然,错误可能会在将来再次出现。如果我再次开始收到错误,我会更新这篇文章...