Google Drive API - 添加和更新权限
Posted
技术标签:
【中文标题】Google Drive API - 添加和更新权限【英文标题】:Google Drive API - Adding and Updating Permissions 【发布时间】:2012-08-18 23:51:33 【问题描述】:我正在我的 android 应用中在 Google 云端硬盘上共享文件。这是场景... 用户 A 与用户 B 共享一个文件,给他/她“作家”角色。后来,健忘的用户 A 再次与用户 B 共享同一个文件,这一次让他/她成为“读者”角色。我的问题是,这会覆盖第一个权限吗?还是应用程序应该处理现有文件权限的检查?
【问题讨论】:
【参考方案1】:您可以使用drive.permissions.update
更新permission
的role
属性,前提是您有fileId
和permissionId
。 role
属性将被覆盖。但是,如果您注意到,有一个 additionalRoles[]
属性将允许您将辅助角色添加到授予用户的权限。现在,只允许commenter
。也许将来,该属性中会添加更多角色。
您可以使用Google API Explorer自行确认:
-
首先,发送
drive.files.list
请求获取fileId
的共享
文件。
使用fileId
发送drive.permissions.list
请求以获取
用户的permissionId
(即回复中的id
)。
有了fileId
和permissionId
,现在你可以使用
drive.permissions.update
通过发送更改该用户的角色
正文中带有 role
属性的请求。
【讨论】:
谢谢!因此,为了获得permissionId
,我必须遍历权限列表并获得 value 属性等于用户电子邮件的权限,对吧?
如果您只想获得经过身份验证的用户(使用您的应用程序)的权限,发送drive.files.list
请求就足够了。响应将包含userPermission
字段,该字段向文件提供该用户的id
、role
、type
。请注意,您可以将权限id
用作me
,而不是经过身份验证的用户的完整ID 字符串。否则,如果您想获得授予所有用户的权限,那么是的,您需要发送drive.permission.list
请求以获取用户列表并更新他们的role
s
我不确定拥有owner
角色的用户是否可以更改为另一个角色。我尝试使用 API Explorer,它给了我500 Internal Server Error
以上是关于Google Drive API - 添加和更新权限的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 API 向 Google Drive 添加/创建/插入文件?
Javascript - Google Drive v3 API和功能
Google Drive API v3 Python文件中缺少某些文件()。list()