【发布时间】:2019-12-12 15:17:57
【问题描述】:
我正在尝试使用服务帐户管理特定域内的文件共享权限。
流程如下:
通过服务帐号授权
使用服务帐号创建文件夹
上传文件夹下的所有文件
在文件夹上插入权限
user_permission = {
'value': issuer_email, (ex. user@company.com)
'type': 'user',
'role': 'writer'
}
drive_service.permissions().insert(fileId=f_id, body=user_permission, fields="id").execute()
domain_permission = {
'type': 'domain',
'role': 'writer',
'domain': 'company.com'
}
drive_service.permissions().insert(fileId=f_id, body=domain_permission, fields="id").execute()
前 3 步进展顺利。但我没有收到步骤 (4) 的错误:
https://www.googleapis.com/drive/v2/files/1RqQUiSKP05ELbPX18YpcoqTGTG_RD2j4/permissions?fields=id&alt=json时HttpError 400返回“需要权限值字段”>
我尝试通过添加不同的字段来解决此错误,但没有成功。它还生成我想要的文件和文件夹,但文件夹和文件可以在公司域之外共享。 (在那里启用share 按钮,我可以从其他域访问它。)
那么如何限制域内的文件共享?就像在 Google Drive UI 提示分享一样,如果我选择了任何不合格的电子邮件地址,它应该无法分享。
谢谢!!!如果我什至不在正确的轨道上,请给我一些指导如何做到这一点。
更新
更具体地说,我想实现这一点:
使用第二个输入字段,虽然我可以与域外的 ppl 共享文件,但 ppl 需要请求许可才能访问它。 因为不是它不请求许可。
【问题讨论】:
-
您为什么使用 Google Drive v2 而不是 Google Drive v3?
标签: google-api google-drive-api google-api-python-client