0

我正在尝试使用 Google Admin SDK 的 Directory API 获取组的所有成员。我已使用在我的域的管理面板上添加此域中的所有用户按钮将我域的所有用户添加到该组。除此之外,我还向该组添加了一个用户。因此,该组有两个条目。目录 API 返回以下成员列表。

{
"kind": "admin#directory#members",
"etag": "\"geb3xcv_ZSaV25Ofefv5dh58nnk/LqxcrE5TnEAIfsL40kOhNX3fA8Y\"",
"members": 
    [
        {
            "kind": "admin#directory#member",
            "etag": "\"geb3xcv_ZSaV25Ofefv5dh58nnk/kmhESKx70CkHpkdZmsTYGx6wdNs\"",
            "id": "C037672zf5r",
            "role": "MEMBER",
            "type": "CUSTOMER"
        },
        {
            "kind": "admin#directory#member",
            "etag": "\"geb3xcv_ZSaV25Ofefv5dh58nnk/FVfFaFMLGYQMa2Ly8XA7uLEPLD8\"",
            "id": "118196612we999272349516",
            "email": "notadmin@xyz.com",
            "role": "MEMBER",
            "type": "USER"
        }
    ]

}

第一个成员的成员类型是 CUSTOMER。在文档中已经提到“类型”属性的可能值是GROUP, MEMBER并且可接受的值是GROUP,USER

这里的CUSTOMER类型是什么意思。它是否会为成员返回等于客户的类型(与域中的所有用户共享)。

4

3 回答 3

1

我在使用 Directory API 时发现了同样的事情。在与 Google Enterprise 支持人员多次讨论后,我确认成员资源的“类型”值是:“GROUP”成员是另一个组“用户”成员是用户“客户”成员代表域中的每个用户(类似于给“每个人”我 AD)

他们承诺将(最终)更新文档以反映这一点。

于 2014-06-13T13:56:47.860 回答
1

这里记录了关于 customerId 的含义和使用:https ://developers.google.com/admin-sdk/directory/v1/guides/manage-users.html#get_all_users

我发现它隐藏在这里:https ://developers.google.com/admin-sdk/directory/v1/reference/users

现在,我没有找到文档的剩下的问题是:一个域可以有多个 customerId 吗?如果是这样,可以安全地假设如果一个组包含这种类型的“客户”,我们知道所有域用户都是其中的一部分,即使在多域间隙场景中也是如此。否则,在我的第一个链接中必须手动查询用户对“所有用户”api 似乎很痛苦。

于 2014-05-28T17:34:08.860 回答
1

虽然这并没有真正记录在案,但你说的很有可能——我还将我的应用程序组织中的所有用户添加到一个组中,并获得一个成员类型:客户。

 "kind": "admin#directory#members",
 "etag": "\"geb3xXXXXXXXX\"",
 "members": [
  {
   "kind": "admin#directory#member",
   "etag": "\"geb3xcvXXXXXXXX\"",
   "id": "C0XXXXXXXX",
   "role": "MEMBER",
   "type": "CUSTOMER"
  }
于 2014-05-15T15:11:10.137 回答