API настроек группы, похоже, содержит ошибки
1 ответ
Поведение, которое вы отметили, является побочным эффектом известной проблемы, когда установка messageModerationLevel на MODERATE_ALL_MESSAGES приводит к тому, что whoCanPostMessage изменяется на ALL_MEMBERS_CAN_POST, если смотреть через API настроек групп. Пользовательский интерфейс групп по-прежнему видит правильные настройки.
К сожалению, после изменения whoCanPostMessage не может быть изменено последующими запросами PUT. Эта проблема решается инженерами Google и может быть воспроизведена с помощью следующих шагов:
- Установите разрешения на публикацию через пользовательский интерфейс групп на одно или оба из следующих:
"Владельцы группы",
"Менеджеры группы"
- Выполните GET-запрос API настроек группы, в котором вы увидите:
"messageModerationLevel": "MODERATE_NONE",
"whoCanPostMessage": "ALL_MANAGERS_CAN_POST"
- Выполните PUT-запрос API настроек групп, установив в теле запроса результат предыдущего запроса и убедитесь, что установлено следующее:
"messageModerationLevel": "MODERATE_ALL_MESSAGES",
"whoCanPostMessage": "ALL_MANAGERS_CAN_POST"
- Ответ указывает:
"messageModerationLevel": "MODERATE_ALL_MESSAGES",
"whoCanPostMessage": "ALL_MEMBERS_CAN_POST",
- Пользовательский интерфейс групп по-прежнему указывает правильное значение для тех, кто может публиковать в группе, т.е.
"Владельцы группы",
"Менеджеры группы".
Чтобы избежать этой проблемы, я бы рекомендовал НЕ устанавливать для messageModerationLevel значение MODERATE_ALL_MESSAGES, когда только менеджеры могут публиковать сообщения в группе, так как именно они в любом случае одобряют публикации.