尝试使用新的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),尽管还没有解决方案。我还没有能够确定任何可编程的解决方法。任何人吗?
答案 0 :(得分:0)
我暂时在Google支持中记录了此案例。这种行为实际上成了我们注意到的最新版GADS的问题 - 因为它现在使用了Directory API。
基本上,这是预期的行为。 Google不希望群组拥有群组。以前,Provisioning API否决了这个,还有另一个错误,它还允许您通过UI手动添加组作为组的所有者(不确定是否已修复)。
tl; dr这是预期的行为,Google不打算最后一次改变它。
答案 1 :(得分:0)
我也支持了一张票。这对我们来说是一个主要问题,因为我们使用群组作为所有者为群组配置动态安全性(阻止成员发布但允许所有员工发布到群组中)。
但我怀疑这是Google的产品组没有互相交谈的情况。例如,管理控制台仍然支持它,并且API文档对此发生了示例响应:https://developers.google.com/admin-sdk/directory/v1/guides/manage-group-members#json-response_2
我们目前的工作是:
我们每天晚上批量执行此操作,首先删除我们的临时组,删除其所有成员资格,然后重新添加,然后再次创建组。这真的很酷,但它确实有效 - 并且表明背部确实支持团体作为所有者。