1

我的应用程序创建了一个 Drive 文件夹,然后将 100 个文件上传到其中。使用我的应用程序,我可以单独读取、更新和删除文件。

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

注意。上传是使用服务器完成的,删除是在 Javascript 中完成的。

按照建议,我正在为我的应用程序使用 drive.file 范围。

有任何想法吗?

以下是步骤...

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

4 回答 4

3

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

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

详情:https ://developers.google.com/drive/web/scopes

于 2014-08-15T11:31:17.233 回答
0

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

于 2013-09-02T16:23:20.227 回答
0

这是一个可重现的错误。在插入时使用 403 速率限制中的代码有时会成功...

  1. 创建一个包含 97 个文件的文件夹
  2. 删除它(发布到垃圾 URL)
  3. 观察 200 响应,文件夹和文件不见了
  4. 创建一个包含 100 个文件的文件夹
  5. 删除它(发布到垃圾 URL)
  6. 观察 403 经过身份验证的用户可能没有授予应用程序 698xxx995 对文件 0Bxxx 的所有子项的写入权限

删除包含 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
于 2013-09-03T05:37:02.530 回答
0

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

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

于 2013-10-14T00:28:52.510 回答