API настроек группы, похоже, содержит ошибки

Я не верю, что есть что сказать. Всякий раз, когда я ПАТЧИРУЮ или ОБНОВЛЯЮ, параметр whoCanPostMessage от ALL_MEMBERS_CAN_POST до ALL_MANAGERS_CAN_POST, бэкэнд API Google просто игнорирует его.

Этот выпуск присутствует с 06-06-2016.

введите описание изображения здесь

1 ответ

Решение

Поведение, которое вы отметили, является побочным эффектом известной проблемы, когда установка messageModerationLevel на MODERATE_ALL_MESSAGES приводит к тому, что whoCanPostMessage изменяется на ALL_MEMBERS_CAN_POST, если смотреть через API настроек групп. Пользовательский интерфейс групп по-прежнему видит правильные настройки.

К сожалению, после изменения whoCanPostMessage не может быть изменено последующими запросами PUT. Эта проблема решается инженерами Google и может быть воспроизведена с помощью следующих шагов:

  1. Установите разрешения на публикацию через пользовательский интерфейс групп на одно или оба из следующих:

"Владельцы группы",

"Менеджеры группы"

  1. Выполните GET-запрос API настроек группы, в котором вы увидите:

"messageModerationLevel": "MODERATE_NONE",

"whoCanPostMessage": "ALL_MANAGERS_CAN_POST"

  1. Выполните PUT-запрос API настроек групп, установив в теле запроса результат предыдущего запроса и убедитесь, что установлено следующее:

"messageModerationLevel": "MODERATE_ALL_MESSAGES",

"whoCanPostMessage": "ALL_MANAGERS_CAN_POST"

  1. Ответ указывает:

"messageModerationLevel": "MODERATE_ALL_MESSAGES",

"whoCanPostMessage": "ALL_MEMBERS_CAN_POST",

  1. Пользовательский интерфейс групп по-прежнему указывает правильное значение для тех, кто может публиковать в группе, т.е.

"Владельцы группы",

"Менеджеры группы".

Чтобы избежать этой проблемы, я бы рекомендовал НЕ устанавливать для messageModerationLevel значение MODERATE_ALL_MESSAGES, когда только менеджеры могут публиковать сообщения в группе, так как именно они в любом случае одобряют публикации.

Другие вопросы по тегам