2
我正在我的android应用程序中的Google Drive上共享文件。这是场景...用户A与用户B共享文件,给他/她“作家”的角色。后来,健忘的用户A再次与用户B共享相同的文件,这次给他/她“读者”角色。我的问题是,这会覆盖第一个权限吗?还是应该处理检查现有文件权限?Google Drive API - 添加和更新权限
我正在我的android应用程序中的Google Drive上共享文件。这是场景...用户A与用户B共享文件,给他/她“作家”的角色。后来,健忘的用户A再次与用户B共享相同的文件,这次给他/她“读者”角色。我的问题是,这会覆盖第一个权限吗?还是应该处理检查现有文件权限?Google Drive API - 添加和更新权限
您可以使用drive.permissions.update
更新permission
的role
财产,前提是你必须fileId
和permissionId
。 role
属性将被覆盖。但是,如果您注意到,有一个additionalRoles[]
属性,它允许您为赋予用户的权限添加次要角色。目前,只允许commenter
。也许在未来,更多的角色将被添加到该属性中。
你可以自己使用Google API Explorer确认:
drive.files.list
请求获得共享 文件的fileId
。drive.permissions.list
请求与fileId
得到 permissionId
的用户(这是id
在响应)。fileId
和permissionId
,现在你可以使用 drive.permissions.update
来改变用户的该角色发送 在体内role
属性的请求。
谢谢!所以为了获得'permissionId',我必须循环访问权限列表,并获得值属性等于用户电子邮件的权限,对吧? –
如果您只想获得授权给已认证用户的权限(使用您的应用),请发送'drive.files.list'请求就足够了。该响应将包含'userPermission'字段,该字段向该文件提供该用户的'id','role','type'。请注意,您可以将权限'id'用作'me',而不是验证用户的完整id字符串。否则,如果你想获得授予所有用户的权限,那么是的,你需要发送'drive.permission.list'请求来获取用户列表并更新他们的角色 – KiL
我不确定用户是谁拥有'所有者'角色可以改变为另一个角色。我试着用API浏览器,它给了我'500内部服务器错误' – KiL