Google Drive api 权限值字段必填

问题描述 投票:0回答:2

我正在编写一个角度代码,以授予另一个帐户访问谷歌驱动器中特定文件的权限。

public async givepremission(fileid,email){
  await gapi.client.setApiKey(this.credconst.APIkey.toString());

  return await gapi.client.load("drive","v3")
 .then(async () => 
 {
    return await gapi.client.drive.permissions.create({
   "fileId": fileid,
   "resource": {
     "role": "reader",
     "type": "user",
     "emailAddress": email
   }
 }) },
       (err) => { 
         this.toastr.error('Google API error');
         throw(err);
       });
 

}

但我得到的只是一个错误

domain: "global"
reason: "required"
message: "Permission value field required"
locationType: "other"
location: "permission.value"

我在https://developers.google.com/drive/api/v3/reference/permissions/create尝试这个API中尝试过它工作正常,但在我的项目中它抛出了上述错误。
我用来授予权限的帐户不是 G-Suite 用户。 我不知道为什么会出现这个错误?
我该如何解决这个问题?

-谢谢

google-api google-drive-api google-apis-explorer google-api-js-client
2个回答
1
投票

如果您查看这里https://developers.google.com/drive/api/v2/reference/permissions/insert 在“可选属性”下,您有值字段 这是您应该传递的 requestBody:

requestBody:{
                emailAddress:'[email protected]',
                role:'writer',
                type:'user',
                value: '[email protected]'
            }, 

我有同样的错误,但现在它对我有用。


0
投票

或其他选项,但不保存,而是“与所有人共享文件夹”。

permission = file1.InsertPermission({
        'type': 'anyone',
        'value': 'anyone',
        'role': 'writer'})
© www.soinside.com 2019 - 2024. All rights reserved.