【问题标题】:Google Admin SDK Directory API: Adding group as member with role "OWNER" gets errorGoogle Admin SDK Directory API:将组添加为具有角色“OWNER”的成员会出错
【发布时间】:2015-08-02 07:09:38
【问题描述】:

尝试使用新的 Google Admin SDK 创建一些群组并向这些群组添加/删除成员。这实际上只是更新了我之前使用旧配置 API 的一些代码。

我正在尝试将 添加为组的成员,其 角色 为 OWNER。我从 Google 收到错误消息。如果我尝试将一个组添加为成员,角色只是 MEMBER,那很好。只有角色 OWNER 才会返回错误。这是一个例子:

POST https://www.googleapis.com/admin/directory/v1/groups/mygroup/members

{
 "email": "myGroupToAddAsMember@mydomain.com",
 "role": "OWNER"
}

我从 Google 收到以下回复:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid Input: memberKey"
   }
  ],
  "code": 400,
  "message": "Invalid Input: memberKey"
 }
}

我也尝试将组添加为 MEMBER,然后更新成员资格并将角色更改为 OWNER。这会得到同样的错误。

我可以进入管理网页界面并将成员资格更改为所有者,因此系统显然可以接受。我究竟做错了什么?感谢您的帮助。

编辑:这似乎是 Google 的错误跟踪中的一个已知问题 (Issue 3791: Unable to insert group owner using Directory API if the owner is group as well),尽管目前还没有解决方案。我无法确定任何可编程的解决方法。有人吗?

【问题讨论】:

    标签: google-api google-admin-sdk google-directory-api


    【解决方案1】:

    我也通过支持记录了一张票。这对我们来说是一个主要问题,因为我们使用群组作为所有者来为群组提供动态安全性(例如,阻止成员发帖但允许所有员工向群组发帖)。

    不过,我怀疑这是因为 Google 的产品组没有相互交流。例如,管理控制台仍然支持它,API 文档有一个发生这种情况的示例响应:https://developers.google.com/admin-sdk/directory/v1/guides/manage-group-members#json-response_2

    我们目前的工作是:

    1. 为每个组添加一个成员,并使用您想要的组作为所有者名称(例如 all_staff_temp)
    2. 将成员设置为组的所有者
    3. 在控制台中创建一个同名的组。该组现在是该组的所有者

    我们每晚都会批量执行此操作,首先删除我们的临时组,该组会删除其所有成员资格,然后将其重新添加,然后再次创建该组。这真的很 hacky,但它确实有效 - 并且表明背面确实仍然支持作为所有者的团体。

    【讨论】:

      【解决方案2】:

      不久前,我在 Google 支持部门记录了一个案例。这种行为实际上成为我们在最新版本的 GADS 中注意到的一个问题 - 因为它现在使用 Directory API。

      基本上,这是预期的行为。 Google 不希望群组拥有群组。以前,Provisioning API 否决了这一点,并且还有另一个错误允许您通过 UI 手动将组添加为组的所有者(不确定这是否已修复)。

      tl;dr 这是预期的行为,我上次听说 Google 不打算改变它。

      【讨论】:

        猜你喜欢
        • 2016-09-05
        • 2015-05-21
        • 2021-07-03
        • 2013-11-23
        • 1970-01-01
        • 2015-08-10
        • 2015-09-23
        • 1970-01-01
        • 2015-05-12
        相关资源
        最近更新 更多