【发布时间】:2012-08-18 23:51:33
【问题描述】:
我正在我的 Android 应用中在 Google 云端硬盘上共享文件。这是场景... 用户 A 与用户 B 共享一个文件,给他/她“作家”角色。后来,健忘的用户 A 再次与用户 B 共享同一个文件,这一次让他/她成为“读者”角色。我的问题是,这会覆盖第一个权限吗?还是应用程序应该处理现有文件权限的检查?
【问题讨论】:
标签: java android file-permissions google-drive-api
我正在我的 Android 应用中在 Google 云端硬盘上共享文件。这是场景... 用户 A 与用户 B 共享一个文件,给他/她“作家”角色。后来,健忘的用户 A 再次与用户 B 共享同一个文件,这一次让他/她成为“读者”角色。我的问题是,这会覆盖第一个权限吗?还是应用程序应该处理现有文件权限的检查?
【问题讨论】:
标签: java android file-permissions google-drive-api
您可以使用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 请求以获取用户列表并更新他们的roles
owner 角色的用户是否可以更改为另一个角色。我尝试使用 API Explorer,它给了我500 Internal Server Error