【问题标题】:Is it possible to list users in a specific orgunit with the google admin sdk directory api?是否可以使用 google admin sdk directory api 列出特定组织中的用户?
【发布时间】:2013-12-18 09:28:46
【问题描述】:

我正在使用 Google 管理 SDK 中的 Directory API 来管理 Google 域中的用户。 我正在寻找一种方法来列出域中特定组织单位中的用户,但我没有找到任何关于如何实现这一点的示例。 根据文档https://developers.google.com/admin-sdk/directory/v1/reference/users/list,唯一有效的查询属性是email、familyName 和givenName。 我今天使用的解决方法是获取域中的所有用户,然后过滤响应。

【问题讨论】:

    标签: google-admin-sdk


    【解决方案1】:

    这可以使用query 参数来实现。

    例子:

    /admin/directory/v1/users?domain=domain.com&query=orgUnitPath=/Sales
    

    或者,url编码:

    /admin/directory/v1/users?domain=example.com&query=orgUnitPath%3D%2FSales
    

    将返回/Sales 组织单位中的所有用户。

    完整文档here

    【讨论】:

    • 如何在查询中组合搜索子句?例如,我想搜索组织单位中的所有暂停用户。我试过 query=orgUnitPath=/Sales,isSuspended=true 但没有用。我用和号 (&) 替换了逗号。那也没用。
    • 来自文档developers.google.com/admin-sdk/directory/v1/guides/…“多个子句由空格分隔,并由 AND 运算符隐式连接。”
    • 谢谢伙计。你是一个救生员。
    【解决方案2】:

    您的发现是正确的,无法仅检索给定 OU 中的用户。您可以使用 fields 参数仅检索电子邮件和 OrgUnit,然后在本地进行过滤。使用字段应该可以在一定程度上减少流量并提高效率。

    【讨论】:

    • 这不再是真的。请参阅下面 Gwyn Howell 的回答。
    【解决方案3】:

    我使用了https://developers.google.com/admin-sdk/directory/reference/rest/v1/users/list 中解释的“查询”参数,它可以工作。

    var optionalArgs = {
            customer: 'my_customer',
            orderBy: 'email',
            query: "orgUnitPath='/A1 - Current Members'"
          };
        
       var response = AdminDirectory.Users.list(optionalArgs);
    

    【讨论】:

      猜你喜欢
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 2013-07-27
      • 2014-12-20
      • 2014-08-09
      • 2013-11-23
      • 2015-09-23
      • 2013-07-10
      相关资源
      最近更新 更多