Google Directory API组

时间:2014-07-02 21:08:48

标签: python google-api google-directory-api

我正在尝试使用Google的管理目录API(使用Google的python库)。

我可以使用以下代码列出目录上的用户:

results = client.users().list(customer='my_customer').execute()

但是,这些结果不包括用户所属的组。相反,似乎一旦我有了用户列表,我就必须打电话来获取一个组列表:

results = client.groups().list(customer='my_customer').execute()

然后通过每个小组并致电"成员" api查看哪些用户在一个组中:

results = client.members().list(groupKey='[group key]').execute()

这意味着我必须为每个群组提出新的请求。

这似乎非常低效。必须有一个比这更好的方法,我只是错过了它。它是什么?

3 个答案:

答案 0 :(得分:1)

以下方法应该更有效,尽管不是100%好:

对于每个用户,请致电the groups.list method并传递userKey参数,以指定您只需要将用户X作为成员的群组。

我不是Python开发者,但它应该是这样的:

results = client.groups().list(customer='my_customer',userKey='user@domain.com').execute()

答案 1 :(得分:1)

没有比你描述的更好的方法了(还有?):迭代群组并获得每个群组的成员列表。

我同意这不是您想要阅读的答案,但它也是我们对小组成员进行维护的方式。

答案 2 :(得分:0)

对于每个用户:

results = client.groups()。list(userKey = user,pageToken = None).execute()

其中'user'是用户的主要/别名电子邮件地址或ID

这将返回用户所属的组页面,请参阅:

https://developers.google.com/admin-sdk/directory/v1/reference/groups/list