Google 驱动器:如何使用 Python SDK 转移所有权?
Google Drive: How do I transfer ownership using the Python SDK?
我已经设置了一个服务帐户来复制用户上传的文件。如何将所有权转移到不同的电子邮件地址?
我有:
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:
我也尝试了 "patch" 方法...我得到了与 "update" 方法相同的结果。
您是否尝试过使用 https://developers.google.com/drive/v2/reference/permissions/insert 插入新所有者,然后按照您的方法更新所有权?
我已经设置了一个服务帐户来复制用户上传的文件。如何将所有权转移到不同的电子邮件地址?
我有:
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: 我也尝试了 "patch" 方法...我得到了与 "update" 方法相同的结果。
您是否尝试过使用 https://developers.google.com/drive/v2/reference/permissions/insert 插入新所有者,然后按照您的方法更新所有权?