1

我正在开发一个项目管理应用程序http://kerika.com,我遇到以下情况,我无法将用户在 google-drive 文件中的角色从“writer”降级为“reader”:

  1. 用户 U1 拥有的项目与角色“团队成员”的用户 U2 共享。
  2. 当一个新文档附加到项目的卡片上时,它会被上传到用户 U1 的 google-drive 帐户。我们将此文件称为 F1。U1 成为 F1 的所有者,并与具有“作者”角色的用户 U2 共享。
  3. 当 U1 决定将用户 U2 的角色降级为 kerika 项目的访问者时:Kerika 内部需要将用户 U2 在 google-drive 上的 F1 角色更新为“读者”。
  4. 在这里,作为 kerika 开发人员,很难找到用户 U2 修改其角色的权限对象,因为 GoogleDrive API 的权限对象不提供有关用户电子邮件地址的信息。它提供有关用户姓名的信息,但不提供有关电子邮件地址的信息。

我还查看了http://www.youtube.com/watch?v=Z2OIlwju8UM&list=PL0FA2818902D9D123&index=15上的 google-drive-sdk 视频。

视频说 google-drive-api 出于安全原因没有填充用户的电子邮件地址。

首先,google-drive 网页版在不关心安全性的共享对话框中显示其他用户的电子邮件地址?

如果谷歌开发人员决定不填充电子邮件地址,那么他们应该有一些解决这个问题的方法。

例如,当我想将用户的角色从“reader”更改为“write”时,我可以插入一个新的权限记录,角色为“writer”,并且角色正在正确更新。

但是当我将用户的角色从“作者”更新为“读者”时,同样的事情不起作用。

有没有人有同样的问题并找到解决方法?

在此先感谢您的帮助,

奇拉格莫拉迪亚

4

1 回答 1

0

您应该使用 update() 或 patch() 方法来修改现有用户对文件的权限。显然,这里的难点在于识别出正确的permissionId供用户修改。

您可以尝试将permissionId 表存储到您的电子邮件地址,但假设所有权限更改都在您的应用程序内完成,而不是通过本机Drive UI。

您的另一个选择是让最终用户确定应该修改哪些用户的权限,通过显示 Drive API 为您提供的名称和图片来帮助他们选择。

于 2012-12-15T13:32:16.127 回答