组设置 API 似乎有问题

Group Settings API seems to be bugged

我不相信有什么好说的。每当我将 "whoCanPostMessage" 设置从 "ALL_MEMBERS_CAN_POST" 修补或更新到 "ALL_MANAGERS_CAN_POST" 时,Google API 后端就会忽略它。

此问题从 2016 年 6 月 6 日开始出现。

您注意到的行为是一个已知问题的副作用,将 messageModerationLevel 设置为 MODERATE_ALL_MESSAGES,会导致 whoCanPostMessage 更改为 ALL_MEMBERS_CAN_POST,如通过群组设置 API 查看。群组 UI 仍然看到正确的设置。

不幸的是,一旦修改,whoCanPostMessage 就不能被后续的 PUT 请求更改。 Google 工程师正在解决这个问题,并且可以通过以下步骤重现:

  1. 通过群组 UI 将发帖权限设置为以下一项或两项:

'Owners of the group',

'Managers of the group'

  1. 执行群组设置 API GET 请求,您将在其中看到:

"messageModerationLevel": "MODERATE_NONE",

"whoCanPostMessage": "ALL_MANAGERS_CAN_POST"

  1. 执行组设置 API PUT 请求,请求正文设置为上一个请求的结果,确保设置以下内容:

"messageModerationLevel": "MODERATE_ALL_MESSAGES",

"whoCanPostMessage": "ALL_MANAGERS_CAN_POST"

  1. 响应表明:

"messageModerationLevel": "MODERATE_ALL_MESSAGES",

"whoCanPostMessage": "ALL_MEMBERS_CAN_POST",

  1. 组 UI 仍然指示谁可以 post 到组的正确值,即

'Owners of the group',

'Managers of the group'.

为避免此问题,我建议不要将 messageModerationLevel 设置为 MODERATE_ALL_MESSAGES,因为只有经理可以 post 到小组,因为他们是无论如何都会批准 post 的人。