2012-08-23 127 views
2

我正在我的android应用程序中的Google Drive上共享文件。这是场景...用户A与用户B共享文件,给他/她“作家”的角色。后来,健忘的用户A再次与用户B共享相同的文件,这次给他/她“读者”角色。我的问题是,这会覆盖第一个权限吗?还是应该处理检查现有文件权限?Google Drive API - 添加和更新权限

回答

1

您可以使用drive.permissions.update更新permissionrole财产,前提是你必须fileIdpermissionIdrole属性将被覆盖。但是,如果您注意到,有一个additionalRoles[]属性,它允许您为赋予用户的权限添加次要角色。目前,只允许commenter。也许在未来,更多的角色将被添加到该属性中。

你可以自己使用Google API Explorer确认:

  1. 首先,发送drive.files.list请求获得共享 文件的fileId
  2. 发送drive.permissions.list请求与fileId得到 permissionId的用户(这是id在响应)。
  3. 随着fileIdpermissionId,现在你可以使用 drive.permissions.update来改变用户的该角色发送 在体内role属性的请求。
+0

谢谢!所以为了获得'permissionId',我必须循环访问权限列表,并获得值属性等于用户电子邮件的权限,对吧? –

+0

如果您只想获得授权给已认证用户的权限(使用您的应用),请发送'drive.files.list'请求就足够了。该响应将包含'userPermission'字段,该字段向该文件提供该用户的'id','role','type'。请注意,您可以将权限'id'用作'me',而不是验证用户的完整id字符串。否则,如果你想获得授予所有用户的权限,那么是的,你需要发送'drive.permission.list'请求来获取用户列表并更新他们的角色 – KiL

+1

我不确定用户是谁拥有'所有者'角色可以改变为另一个角色。我试着用API浏览器,它给了我'500内部服务器错误' – KiL