如何使用PyDrive2为多个用户授予Google Drive文件权限?
为多个邮箱用户批量授予Google Drive文件权限
要给多个邮箱用户批量添加权限,核心思路是遍历邮箱列表,逐个调用权限插入接口——因为Google Drive的Permissions.insert接口一次只能处理单个用户的权限请求。
实现步骤与代码示例
- 先定义包含所有目标邮箱的列表
- 遍历列表,为每个邮箱生成对应的权限配置,重复执行权限插入操作
# 定义需要授予权限的邮箱列表 EMAIL_LIST = ['user1@domain.com', 'user2@domain.com', 'user3@domain.com'] # 遍历每个邮箱,逐个添加权限 for email in EMAIL_LIST: new_permission = { 'emailAddress': email, 'role': 'reader', 'type': 'user', 'value': email } try: # 执行权限添加操作 new_dir.auth.service.permissions().insert( fileId=new_dir['id'], body=new_permission, supportsTeamDrives=True ).execute(http=new_dir.http) print(f"已成功为 {email} 添加权限") except Exception as e: print(f"为 {email} 添加权限失败: {str(e)}")
关键说明
- 循环遍历的必要性:Google Drive API不支持单次请求添加多个用户权限,必须逐个处理
- 异常处理:添加try-except块可以避免单个邮箱处理失败导致整个批量操作中断,同时方便排查问题
- 权限字段简化:实际上
value字段在新版API中并非必填项,如果你使用的是较新的PyDrive2版本,可以只保留emailAddress、role和type三个字段,代码依然有效
内容的提问来源于stack exchange,提问作者abdulaziz ibrahim
相关产品推荐
相关产品推荐

