Привет, друзья,
Я разрабатываю мобильное приложение форума, используя API Discourse, и Google требует, чтобы все приложения с пользовательским контентом имели функцию блокировки.
Я провёл небольшое исследование и выяснил, что в Discourse пользователь может игнорировать другого пользователя, что, по-видимому, удовлетворяет этому требованию.
Однако при использовании следующего API для игнорирования пользователя я получаю ошибку 422 с сообщением: «Извините, вы не можете игнорировать этого пользователя» для любого пользователя, которого я пытаюсь игнорировать.
u/{username}/notification_level.json
с параметром
notification_level=ignore
Подскажите, пожалуйста, почему это происходит?
Заранее спасибо и наилучшие пожелания,
Крис
Привет и добро пожаловать, @chrisbai2021 
Функция игнорирования зависит от уровня доверия, поэтому возможно, что ваш тестовый пользователь ещё не достиг уровня TL2 (уровень по умолчанию для использования этой функции).
Также вы не можете игнорировать администраторов и модераторов, поэтому всё зависит от того, кого именно вы пытаетесь игнорировать. 
Привет @JammyDodger, спасибо за быстрый ответ.
Это имеет смысл — похоже, это означает, что нам нужно при регистрации по умолчанию назначать всем уровень TL2, чтобы соответствовать требованиям Google…
Ещё раз спасибо!
В качестве альтернативы вы можете изменить настройку «Минимальный уровень доверия для игнорирования»:
Также есть функция «заглушить», которая может вас заинтересовать в зависимости от ваших потребностей. Она доступна всем.
А вот тема с описанием множества функций и соответствующих им уровней доверия, а также связанных с ними настроек администратора:
Таблица разрешений по уровням доверия (включая роли модераторов)
Отлично, спасибо за эти подсказки!
Я попытался создать TL2 и снизить минимальный уровень доверия, чтобы разрешить игнорирование для TL0. Однако теперь я получаю ошибку 500.
Для проверки я изменил предоставленный notification_level на mute, и запрос прошел успешно.
Интересно, есть ли настройка сайта, которая включает функцию игнорирования в принципе… Я искал в настройках администратора, но пока ничего не нашел…
Ох, думаю, мне, возможно, придётся указать expiring_at…
Посмотрев на запрос, который отправляется при выполнении действия в интерфейсе, возможно, вам потребуется добавить временной интервал:
Редактирование:
Ах, вы меня опередили. 
Удивительно, спасибо! Это очень полезно 
Это сработало!! Но у меня остался один последний вопрос…
Похоже, что посты от игнорируемых пользователей скрыты, но темы — нет. Это наблюдается и в веб-интерфейсе. Это ожидаемое поведение?
Ага, похоже, мне нужно использовать ignored_usernames в объекте пользователя, чтобы реализовать скрытие 