Python &引用;无效的字段选择emailAddress“;使用Google Drive API从service.permissions()列表

Python &引用;无效的字段选择emailAddress“;使用Google Drive API从service.permissions()列表,python,google-drive-api,Python,Google Drive Api,我正在尝试使用python客户端从Google Drive REST API获取字段“emailAddress”。我正在使用权限端点 我尝试过使用list()和get()函数,但只有get()起作用 list()请求 #我的文件id是一个占位符 service.permissions().list(fileId='my file id',fields='emailAddress')。execute() 返回: googleapiclient.errors.HttpError: <Htt

我正在尝试使用python客户端从Google Drive REST API获取字段“emailAddress”。我正在使用权限端点

我尝试过使用
list()
get()
函数,但只有
get()
起作用


list()请求

#我的文件id是一个占位符
service.permissions().list(fileId='my file id',fields='emailAddress')。execute()
返回:

googleapiclient.errors.HttpError: <HttpError 400 when requesting https://www.googleapis.com/drive/v3/files/my-file-id/permissions?fields=emailAddress&alt=json returned "Invalid field selection emailAddress">
{'emailAddress': 'expected@email.com'}
{'kind': 'drive#permissionList', 'permissions': [{'kind': 'drive#permission', 'id': '****', 'type': 'user', 'emailAddress': 'expected@email.com', 'role': 'writer', 'displayName': '****', 'photoLink': '****', 'deleted': False}, {'kind': 'drive#permission', 'id': '****', 'type': 'user', 'emailAddress': 'expected@email.com', 'role': 'owner', 'displayName': '****', 'deleted': False}]}
返回:

googleapiclient.errors.HttpError: <HttpError 400 when requesting https://www.googleapis.com/drive/v3/files/my-file-id/permissions?fields=emailAddress&alt=json returned "Invalid field selection emailAddress">
{'emailAddress': 'expected@email.com'}
{'kind': 'drive#permissionList', 'permissions': [{'kind': 'drive#permission', 'id': '****', 'type': 'user', 'emailAddress': 'expected@email.com', 'role': 'writer', 'displayName': '****', 'photoLink': '****', 'deleted': False}, {'kind': 'drive#permission', 'id': '****', 'type': 'user', 'emailAddress': 'expected@email.com', 'role': 'owner', 'displayName': '****', 'deleted': False}]}

*
端点与
list()一起使用,将返回所有预期字段:

#我的文件id是一个占位符
service.permissions().list(fileId='my-file-id',fields='*').execute()
返回:

googleapiclient.errors.HttpError: <HttpError 400 when requesting https://www.googleapis.com/drive/v3/files/my-file-id/permissions?fields=emailAddress&alt=json returned "Invalid field selection emailAddress">
{'emailAddress': 'expected@email.com'}
{'kind': 'drive#permissionList', 'permissions': [{'kind': 'drive#permission', 'id': '****', 'type': 'user', 'emailAddress': 'expected@email.com', 'role': 'writer', 'displayName': '****', 'photoLink': '****', 'deleted': False}, {'kind': 'drive#permission', 'id': '****', 'type': 'user', 'emailAddress': 'expected@email.com', 'role': 'owner', 'displayName': '****', 'deleted': False}]}
在这种情况下,有两个用户对此特定文件具有权限

根据文档(),我应该能够通过
字段
参数查询
电子邮件地址

这是API的问题还是因为响应中有多个权限对象?

  • 您只想使用drive.permissions.list中的
    字段
    检索
    电子邮件地址的列表
如果我的理解是正确的,那么使用以下
字段如何?请修改如下

发件人: 致: 参考:
如果我误解了你的问题,而这不是你想要的结果,我道歉。

  • 您只想使用drive.permissions.list中的
    字段
    检索
    电子邮件地址的列表
如果我的理解是正确的,那么使用以下
字段如何?请修改如下

发件人: 致: 参考:

如果我误解了您的问题,并且这不是您想要的结果,我很抱歉。

您在使用list()时是否没有获得文件列表?您可能必须使用类似以下内容的内容
service.permissions().list(fileId='my file id',fields=files('emailAddress'))。execute()
使用list()时是否没有获得文件列表您可能必须使用类似于以下内容的内容
service.permissions().list(fileId='my file id',fields=files('emailAddress'))。execute()
Yes这非常有效。很抱歉,我没有早点得到你的答案,我工作一直很忙。反思一下,因为google api客户端使用的是REST api,所以端点是
权限的子集
@Collin Arnett没有问题。谢谢你的回复。我很高兴你的问题解决了。也谢谢你。是的,这很好用。很抱歉,我没有早点得到你的答案,我工作一直很忙。反思一下,因为google api客户端使用的是REST api,所以端点是
权限的子集
@Collin Arnett没有问题。谢谢你的回复。我很高兴你的问题解决了。也谢谢你。