Skip to main content
 首页 » 编程设计

python之谷歌驱动器 : How do I transfer ownership using the Python SDK

2025年05月04日27luoye11

我已经设置了一个服务帐户来复制用户上传的文件。如何将所有权转移到不同的电子邮件地址?

我有:

new_permission = {'value': 'me@example.com', 'type': 'user', 'role': 'owner', 'transferOwnership': True} # also tried "true" and "True" 
r = service.permissions().update(fileId=id, permissionId=perm_id, body=new_permission).execute() 

没有发生所有权转移,所有者仍然是我的服务帐户。

编辑:也没有发生错误;它只是不会改变所有者。

编辑 #2:我也尝试过 https://developers.google.com/drive/v2/reference/permissions/update没有运气。我收到 200 响应,但所有者仍然是我的服务帐户而不是“me@example.com”:

{ 
 "kind": "drive#permission", 
 "etag": "\"xxxxxxx/xxxxxxx-x\"", 
 "id": "xxxxxxxxxxx", 
 "selfLink": "https://www.googleapis.com/drive/v2/files/myfileid/permissions/xxxxxx", 
 "name": "myserviceaccount", 
 "emailAddress": "myserviceaccount@developer.gserviceaccount.com", 
 "domain": "developer.gserviceaccount.com", 
 "role": "owner", 
 "type": "user" 
} 

编辑#3: 我也试过“补丁”方法...我得到了与“更新”方法相同的结果。

请您参考如下方法:

您是否尝试过使用 https://developers.google.com/drive/v2/reference/permissions/insert插入新所有者然后根据您的方法更新所有权?