【问题标题】:Google Drive API - Adding and Updating PermissionsGoogle Drive API - 添加和更新权限
【发布时间】:2012-08-18 23:51:33
【问题描述】:

我正在我的 Android 应用中在 Google 云端硬盘上共享文件。这是场景... 用户 A 与用户 B 共享一个文件,给他/她“作家”角色。后来,健忘的用户 A 再次与用户 B 共享同一个文件,这一次让他/她成为“读者”角色。我的问题是,这会覆盖第一个权限吗?还是应用程序应该处理现有文件权限的检查?

【问题讨论】:

    标签: java android file-permissions google-drive-api


    【解决方案1】:

    您可以使用drive.permissions.update 更新permissionrole 属性,前提是您有fileIdpermissionIdrole 属性将被覆盖。但是,如果您注意到,有一个 additionalRoles[] 属性将允许您将辅助角色添加到授予用户的权限。现在,只允许commenter。也许将来,该属性中会添加更多角色。

    您可以使用Google API Explorer自行确认:

    1. 首先,发送drive.files.list请求获取fileId的共享 文件。
    2. 使用fileId发送drive.permissions.list请求以获取 用户的permissionId(即回复中的id)。
    3. 有了fileIdpermissionId,现在你可以使用 drive.permissions.update 通过发送更改该用户的角色 正文中带有 role 属性的请求。

    【讨论】:

    • 谢谢!因此,为了获得permissionId,我必须遍历权限列表并获得 value 属性等于用户电子邮件的权限,对吧?
    • 如果您只想获得经过身份验证的用户(使用您的应用程序)的权限,发送drive.files.list 请求就足够了。响应将包含userPermission 字段,该字段向文件提供该用户的idroletype。请注意,您可以将权限id 用作me,而不是经过身份验证的用户的完整ID 字符串。否则,如果您想获得授予所有用户的权限,那么是的,您需要发送drive.permission.list 请求以获取用户列表并更新他们的roles
    • 我不确定拥有owner 角色的用户是否可以更改为另一个角色。我尝试使用 API Explorer,它给了我500 Internal Server Error
    猜你喜欢
    • 2016-02-19
    • 2020-10-23
    • 2012-09-05
    • 2016-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多