【问题标题】:User is a member of a group, user group list does not include group用户是组的成员,用户组列表不包括组
【发布时间】:2015-06-09 15:42:24
【问题描述】:

当前行为:我们正在使用 google directory api 缓存所有组和组成员。我们发现此特定用户在我们想要将他/她从中删除的组中。我们执行 api 调用来删除用户,我们得到一个 URL not found 响应。

期望的行为:从 xgroup@xappsite 组中删除 xuser@xappsite。

目前,如果您在控制台中查看,您可以看到 xuseraccount 用户查找不包含 xgroup 组,但如果您查看组查找部分,您会看到 xuser 是 xgroup 组的一部分。

然后我们尝试使用 URI 执行 directory.group.member.delete 命令:

这是发送请求。

[FINE]2015-04-14 15:36:58 [sun.net.www.protocol.http.HttpURLConnection]: sun.net.www.MessageHeader@6afa3ce57 对:{DELETE /admin/directory/v1/groups/xgroup@xappsite/members/xuser%40xappsite HTTP/1.1:null}{接受:应用程序/JSON}{内容类型: 应用程序/JSON} -- 删除了额外的响应

这是回复

[FINE]2015-04-14 15:36:58 [sun.net.www.protocol.http.HttpURLConnection]: sun.net.www.MessageHeader@2cdf88d214 对:{null: HTTP/1.1 404 不是 Found}{Vary: X-Origin}{Content-Type: application/json; charset=UTF-8}{日期:2015 年 4 月 14 日星期二 19:36:59 GMT}{到期:14 日星期二 2015 年 4 月 19:36:59 GMT}{Cache-Control: private, max-age=0}{X-Content-Type-Options: nosniff}{X-Frame-Options: SAMEORIGIN}{X-XSS-保护:1;模式=块}{服务器: GSE}{备用协议:443:quic,p=0.5}{接受范围:无}{变化: Origin,Accept-Encoding}{Transfer-Encoding: chunked}

TLDR:

根据 google 内部的组应用程序,基本上该用户是组的成员,但根据用户组列表,该用户不是组的成员。

这是谷歌内部的错误吗?我尝试向他们提交支持请求,但并没有走得太远。我们找到的解决方案是手动删除用户并将其重新添加到每个组。这似乎也只发生在群组的所有者和管理员身上。

【问题讨论】:

  • 在 groups.list(developers.google.com/admin-sdk/directory/v1/reference/groups/…) 中,如果添加 userkey(userKey 查询参数返回用户或组具有成员资格的所有组),您是否可以看到错过的组(在users.list) 为上述用户?请告诉我
  • 我完成了请求(与相关的 google 应用程序客户一起验证,将我所指的用户放入 userkey 部分)。我无法在此列表中看到错过的组(这实际上与我正在执行的 api 调用相同,但我仔细检查了以防万一)。我还仔细检查过,如果您访问群组应用程序,在谷歌内部这个用户就是群组的成员。

标签: google-admin-sdk


【解决方案1】:

我们很确定这个问题的答案是我们正在寻找的用户有一个别名或谷歌 ID 列为该组的成员,所以当我们使用主电子邮件地址执行删除时用户不会从组中删除。我们还没有看到这种情况再次出现,但另一个解决方法是从您尝试在门户中手动删除的组中删除该人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 2012-08-11
    • 2019-05-03
    • 1970-01-01
    相关资源
    最近更新 更多