我想从文件中删除权限。
在 Drive API v2 中,
PermissionId permissionId = service.permissions().getIdForEmail(account).execute();
service.permissions().delete(fileId, permissionId.getId()).execute();
Run Code Online (Sandbox Code Playgroud)
但根据文件,permissions().getIdForEmail(String email)被删除和替代是什么。
https://developers.google.com/drive/v3/web/migration
我permissionId在 drive API v3 中找不到如何从特定的电子邮件地址获取信息。
你有什么主意吗?
两年后,但你的问题是我在寻找解决方案时发现的第一个结果。我找到了一个解决方法,希望这能帮助其他人解决同样的问题。这就是我为获取权限 id 所做的操作:
this.getPermissionId = function(emailAddress) {
return new Promise((resolve, reject) => {
const input = {
q: '"' + emailAddress + '" in writers or "' + emailAddress + '" in readers',
fields: 'files(permissions)',
pageSize: 1
};
const request = gapi.client.drive.files.list(input);
request.execute(result => {
if(result.error) {
reject(result.error);
} else if(result.files && result.files[0] && result.files[0].permissions && result.files[0].permissions[0]) {
const permissions = result.files[0].permissions;
let permissionId;
permissions.forEach(permission => {
if(permission.emailAddress == emailAddress) {
permissionId = permission.id;
}
});
if(permissionId) {
resolve(permissionId);
}
else {
reject('permissionIdUndefined');
}
}
});
})
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2411 次 |
| 最近记录: |