Google Admin SDK 目录 API:将组添加为角色 "OWNER" 的成员时出错
Google Admin SDK Directory API: Adding group as member with role "OWNER" gets error
正在尝试使用新的 Google Admin SDK 来创建一些群组并向这些群组添加 adding/removing 成员。这实际上只是更新我以前使用旧配置 API.
的一些代码
我正在尝试添加 组 作为组的成员,角色 所有者。我从 Google 收到错误消息。如果我尝试将一个组添加为成员,并且角色仅为 MEMBER,那没问题。只有 OWNER 角色才会 return 错误。这是一个例子:
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"
}
}
我也尝试过将群组添加为成员,然后更新成员并将角色更改为所有者。这会得到同样的错误。
我可以进入管理 Web 界面并将成员资格更改为所有者,因此系统显然可以接受。我究竟做错了什么?感谢您的帮助。
编辑: 这似乎是 Google 错误跟踪中的一个已知问题 (Issue 3791: Unable to insert group owner using Directory API if the owner is group as well),尽管目前还没有解决方案。我无法确定任何可编程的解决方法。有人吗?
不久前,我向 Google 支持团队记录了一个案例。这种行为实际上成为我们在最新版本的 GADS 中注意到的一个问题 - 因为它现在使用目录 API。
本质上,这是预期的行为。 Google 不希望群组拥有群组。以前,配置 API 否决了这一点,还有另一个错误,它还允许您通过 UI 手动添加一个组作为组的所有者(不确定这是否已修复)。
tl;dr 这是预期的行为,Google 上次听说我不打算更改它。
我也记录了支持票。这对我们来说是一个主要问题,因为我们使用群组作为所有者来为群组提供动态安全性(例如,阻止成员 posting 但允许所有员工 post 加入群组)。
但是我怀疑这是 Google 的产品组没有相互交谈的情况。例如,管理控制台仍然支持它,并且 API 文档有一个针对这种情况的示例响应:https://developers.google.com/admin-sdk/directory/v1/guides/manage-group-members#json-response_2
我们目前的工作是:
- 将一个成员添加到每个组,并将您想要的组作为所有者名称(例如 all_staff_temp)
- 将成员设为群主
- 在控制台创建同名群组。该群现已成为群主
我们每晚分批执行此操作,首先删除我们的临时组,这将删除它的所有成员资格,然后将其重新添加,然后再次创建该组。这真的很 hacky,但它有效 - 并表明背面确实支持团体作为所有者。
正在尝试使用新的 Google Admin SDK 来创建一些群组并向这些群组添加 adding/removing 成员。这实际上只是更新我以前使用旧配置 API.
的一些代码我正在尝试添加 组 作为组的成员,角色 所有者。我从 Google 收到错误消息。如果我尝试将一个组添加为成员,并且角色仅为 MEMBER,那没问题。只有 OWNER 角色才会 return 错误。这是一个例子:
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"
}
}
我也尝试过将群组添加为成员,然后更新成员并将角色更改为所有者。这会得到同样的错误。
我可以进入管理 Web 界面并将成员资格更改为所有者,因此系统显然可以接受。我究竟做错了什么?感谢您的帮助。
编辑: 这似乎是 Google 错误跟踪中的一个已知问题 (Issue 3791: Unable to insert group owner using Directory API if the owner is group as well),尽管目前还没有解决方案。我无法确定任何可编程的解决方法。有人吗?
不久前,我向 Google 支持团队记录了一个案例。这种行为实际上成为我们在最新版本的 GADS 中注意到的一个问题 - 因为它现在使用目录 API。
本质上,这是预期的行为。 Google 不希望群组拥有群组。以前,配置 API 否决了这一点,还有另一个错误,它还允许您通过 UI 手动添加一个组作为组的所有者(不确定这是否已修复)。
tl;dr 这是预期的行为,Google 上次听说我不打算更改它。
我也记录了支持票。这对我们来说是一个主要问题,因为我们使用群组作为所有者来为群组提供动态安全性(例如,阻止成员 posting 但允许所有员工 post 加入群组)。
但是我怀疑这是 Google 的产品组没有相互交谈的情况。例如,管理控制台仍然支持它,并且 API 文档有一个针对这种情况的示例响应:https://developers.google.com/admin-sdk/directory/v1/guides/manage-group-members#json-response_2
我们目前的工作是:
- 将一个成员添加到每个组,并将您想要的组作为所有者名称(例如 all_staff_temp)
- 将成员设为群主
- 在控制台创建同名群组。该群现已成为群主
我们每晚分批执行此操作,首先删除我们的临时组,这将删除它的所有成员资格,然后将其重新添加,然后再次创建该组。这真的很 hacky,但它有效 - 并表明背面确实支持团体作为所有者。