首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >获取403 -使用服务帐户更改Google Drive文件夹的所有者时禁止

获取403 -使用服务帐户更改Google Drive文件夹的所有者时禁止
EN

Stack Overflow用户
提问于 2019-05-13 14:09:48
回答 1查看 146关注 0票数 0

我们使用Google Drive API在我们的应用程序中执行某些与文件相关的操作。我们的一个用例是更改特定的文件夹所有者。

我返回了下面的代码来执行此操作

代码语言:javascript
代码运行次数:0
运行
复制
Permission permission = new Permission();

permission.setRole(Permission.OWNER.getRole());
permission.setType(Permission.OWNER.getType());
permission.setEmailAddress(email);

googleDrive.permissions()
  .create(fileId, permission)
  .setSendNotificationEmail(false)
  .setTransferOwnership(true)
  .execute();

在尝试更改所有者时,我们收到来自Google的错误。

代码语言:javascript
代码运行次数:0
运行
复制
{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Forbidden"
   }
  ],
  "code": 403,
  "message": "Forbidden"
 }
}

我们已经检查了https://developers.google.com/drive/web/handle-errors上列出的错误。但是,在上面的细节中我没有发现任何错误。

当我尝试使用相同的代码更改特定文件的所有权时,它工作得很好。

有没有人知道我错过了什么,或者可能是什么问题?

同样,当我使用cURL更改文件夹所有权时,也是如此

代码语言:javascript
代码运行次数:0
运行
复制
curl POST \
  'https://www.googleapis.com/drive/v3/files/[FILE_ID]/permissions?transferOwnership=true' \
  --header 'Authorization: Bearer [ACCESS_TOKEN]' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{"role":"owner","type":"user","emailAddress":"[EMAIL]"}'
EN

回答 1

Stack Overflow用户

发布于 2019-05-13 14:43:07

已禁用

通常意味着您登录的用户本身没有访问权限来执行您正在尝试执行的操作。因此,为了更改所有者,我怀疑您需要拥有对该文件的写访问权限,或者是该文件本身的所有者。

例如,我无法登录并更改您拥有的文件的所有者,我没有足够的权限访问该文件。

您可能还希望检查正在进行身份验证的作用域。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56106593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档