下面是team drive ui中给定的权限与
getAccess()
值,以及可以调用的包含此人的文件夹API方法:
+-----------------------+-------------+-------------------+
| Team Drive Permission | getAccess() | Folder API Method |
+-----------------------+-------------+-------------------+
| Manager | ORGANIZER | (None) |
| Content Manager | NONE | (None) |
| Contributor | EDIT | getEditors() |
| Commenter | COMMENT | getViewers() |
| Viewer | VIEW | getViewers() |
| (None) | NONE | (None) |
+-----------------------+-------------+-------------------+
一些结果:
-
无法知道谁是团队驱动中的内容经理
:注意它如何返回
NONE
对于两者
内容管理器
和其他人一起开车。因此,使用
GETAccess()
方法,即使您知道此人的电子邮件地址。这可能是api中的一个bug?
-
你可以很容易地得到所有的贡献者
:只需调用
getEditors()
方法。
-
你可以得到所有的评论和浏览者,但是需要使用
GETAccess()
太
:因为评论者和观众都是通过
getViewers
,您将需要对照getaccess()中返回的结果交叉引用它,以查找实际的注释者或查看器。
-
没有API方法来获取管理器或内容管理器
:在文件夹上返回一组用户的标准api方法都不会返回manager或content manager组中的任何人。因此,您需要知道经理的电子邮件地址,并且只能使用getaccess()来验证他们确实是经理。
-
getOwner()
总是返回
null
. 大概这是因为团队驱动中没有一个所有者。它会回来的
无效的
即使只有1个管理器和0个内容管理器。
因此,似乎没有办法找到
OWNER
S或
ORGANIZER
是一个团队驱动(可能是
管理者
和
内容管理器
,分别)使用标准API。相反,您必须已经知道与该用户关联的电子邮件地址是什么,然后调用
GETAccess()
. 这是不幸的。
我希望下面的解决方法能奏效:
-
在团队驱动器中创建一个虚拟文件。自从
文件
团队驱动器映射中的权限
编辑
,
评论
,
视图
, the
GETEdError()
方法现在应该公开管理器和内容管理器。因为他们有
编辑
对文件的权限,它们应该由
GETEdError()
方法。
不幸的是,这也不起作用。结果是
确切地
同
文件夹
案例。管理器和内容管理器被隐藏(即,3个方法都没有返回它们)。内容管理器的getaccess()仍然是none,等等。
为了得到经理和内容经理的列表,我相信唯一的选择就是使用高级api。尤其是,看起来
teamDrivePermissionDetails[].role
上
Permissions
对象精确返回映射到团队驱动器权限的5种状态: