我正在编写一个角度代码,以授予另一个帐户访问谷歌驱动器中特定文件的权限。
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 用户。
我不知道为什么会出现这个错误?
我该如何解决这个问题?
-谢谢
如果您查看这里https://developers.google.com/drive/api/v2/reference/permissions/insert 在“可选属性”下,您有值字段 这是您应该传递的 requestBody:
requestBody:{
emailAddress:'[email protected]',
role:'writer',
type:'user',
value: '[email protected]'
},
我有同样的错误,但现在它对我有用。
或其他选项,但不保存,而是“与所有人共享文件夹”。
permission = file1.InsertPermission({
'type': 'anyone',
'value': 'anyone',
'role': 'writer'})