[英]Google Drive API Permissions error when attempting to create permissions
我正在尝试使用 google sheet api 创建一个 google 电子表格,然后使用 Google Drive API 更新工作表文件的权限以拥有一个新所有者。
即使我按照文档传递值,我也会收到以下错误:
创建权限时出错:<HttpError 400 when requesting https://www.googleapis.com/drive/v2/files/1xVPxNHQmbO2RSbzbTg7K3qLa8fURP3S_xkIStMVIpK8/permissions?alt=json返回“需要权限值字段”。 详细信息:“[{'domain': 'global', 'reason': 'required', 'message': 'Permission value field required', 'locationType': 'other', 'location': 'permission.value'} ]">
我在这里使用从谷歌文档中获取的以下代码片段:
def driveService(fileID, email):
drive_service = build('drive', 'v2')
insert_permission(drive_service, fileID, email, "user", "owner")
def insert_permission(service, file_id, email, perm_type, role):
"""Insert a new permission.
Args:
service: Drive API service instance.
file_id: ID of the file to insert permission for.
value: User or group e-mail address, domain name or None for 'default'
type.
perm_type: The value 'user', 'group', 'domain' or 'default'.
role: The value 'owner', 'writer' or 'reader'.
Returns:
The inserted permission if successful, None otherwise.
"""
new_permission = {
'type': perm_type,
'role': role,
'value': email
}
try:
return service.permissions().insert(
fileId=file_id, body=new_permission).execute()
except errors.HttpError as error:
print('An error occurred while creating permission: %s' % error)
return None
试试这个让我知道如果它不起作用我会在明天制作一个完整的样本。
permission1 = {
'type': 'user',
'role': 'writer',
'emailAddress': '###', # Email of Google account.
}
service.permissions().create(fileId=fileId, body=permission1).execute()
permission2 = {
'type': 'anyone',
'role': 'writer',
}
service.permissions().create(fileId=fileId, body=permission2).execute()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.