如何在Python中使用Google Drive API v3更改所有者?

我正在尝试通过更新权限来更改 Google 云端硬盘 API 的所有者:


permissions = drive_api.files().get(fileId=ssId, fields='permissions').execute()['permissions']


[{'displayName': 'account_name',

  'emailAddress': 'account_email',

  'id': 'id1',

  'role': 'writer',

  'type': 'user'},

 {'displayName': 'api_email',

  'emailAddress': 'api_email',

  'id': 'id2',

  'role': 'owner',

  'type': 'user'}]

我获取我的帐户权限 ID:


for permission in permissions:

  if permission['emailAddress'] == 'account_email':

    permissionId = permission['id']

    break

拿身体看:


body = drive_api.permissions().get(fileId=ssId, permissionId=permissionId).execute()


{'id': 'id1',

 'kind': 'drive#permission',

 'role': 'writer',

 'type': 'user'}

更改角色:


body['role'] = 'owner'

并进行更新:


drive_api.permissions().update(fileId=ssId, permissionId=permissionId, body=body, transferOwnership=True).execute()

但得到一个错误:


资源正文包括不可直接写入的字段


函数式编程
浏览 55回答 1
1回答

慕村9548890

我改变了这个东西,它开始工作:body = {    'id': permissionId,    'role': 'owner',}为这个可怕的Drive API文档而感到羞耻
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python