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

F.沃斯尼姆

我正在尝试通过更新权限使用 Google Drive 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()

但是得到一个错误:

资源主体包括不可直接写入的字段

F.沃斯尼姆

我改变了这个东西,它开始工作:

body = {
    'id': permissionId,
    'role': 'owner',
}

这个可怕的 Drive API 文档让谷歌感到羞耻

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用Google Drive Java API v3在Google Drive上复制文件?

如何使用带有Google Drive API v3 Java的服务帐户访问Team Drive

如何使用Java中的Google Drive API v3获取上载文件到Google Drive的可共享链接

如何在Google Maps API v3中使用SVG标记

如何在Google Drive API v3中获取文件的“ lastModified”?

如何在Google Drive API v3中将XLSX转换为表格

用Python覆盖Google Drive API v3 Argparse

使用Google Drive API v3移动文件

如何使用带有Google Drive .NET API v3的服务帐户访问Team Drive

Google Drive API v3更改文件权限并获取公开共享的链接(Python)

如何通过Python API使用Google Drive v3 API限制编辑者共享电子表格?

如何在Google Drive API v3,Python客户端中删除文件

如何使用Google Drive API v3上传到Python中的共享驱动器?

如何在Google Drive Api v3中进行部分下载?

如何使用Google Drive Api v3和php显示文本文件的内容?

如何使用Python和Drive API v3下载Google云端硬盘文件

如何过滤Google Drive API v3 mimeType?

如何使用NodeJS和Google Drive API v3将文件移至垃圾箱

如何在Google Drive API v3中更新权限?

如何在Python中使用Google API v3使驱动器文件夹“对网络公开”?

如何在分页和使用排序依据时列出Google Drive API v3上的所有根文件夹和共享?

如何从 google drive api v3 获取文件列表?

如何使用 Google Drive API V3 将文件上传到 Group Drive(共享驱动器)?

如何使用 Python 和 Drive API v3 从 Google Drive 下载文件

使用 Google Calendar API 更改所有者

在 Google Drive API V3 中使用 update() 和 addParents 移动文件不会永久生效

如何使用 PHP 和 Google Drive API 获取基于所有者的所有文件夹和文件

如何从 Google Drive 上传和下载文件(使用 Rest Api v3)

如何使用 Google Drive API v3 将可恢复上传到 Python 中的共享文件夹?