APIを使用してユーザーを無視できません

こんにちは皆さん、

Discourse API を使用してモバイルフォーラムアプリを構築していますが、Google は UGC を含むすべてのアプリにブロック機能が必要だと要求しています。

いくつか調査したところ、Discourse ではユーザーが他のユーザーを無視できることがわかり、これが要件を満たすと考えられます。

しかし、次の API を使用してユーザーを無視しようとすると、試したすべてのユーザーに対して「申し訳ありませんが、そのユーザーを無視することはできません。」という 422 エラーが発生します。

u/{username}/notification_level.json

notification_level=ignore

この原因をご存知の方はいらっしゃいますか?

よろしくお願いいたします。
Chris

こんにちは、@chrisbai2021 さん :slight_smile:

無視機能は信頼レベルに基づいているため、テストユーザーがまだTL2(その機能を使用するためのデフォルトレベル)に達していない可能性があります。

また、管理者やモデレーターを無視することはできないため、無視しようとしている相手にも依存します。 :slight_smile:

「いいね!」 3

JammyDodgerさん、早速のご返信ありがとうございます。

なるほど、Googleの規定に準拠するためには、サインアップ時に全員を少なくともTL2にデフォルト設定する必要があるということですね。

重ねてお礼申し上げます。

または、最小信頼レベルを無視できるように設定を調整することもできます。

また、「ミュート」機能もあります。必要に応じて、こちらも興味深いかもしれません。これは誰でも利用できます。

そして、多くの機能とその信頼レベル、およびそれに関連する管理者設定についてのトピックはこちらです。:+1: 信頼レベルの権限テーブル(モデレーターロールを含む)

「いいね!」 2

素晴らしい、これらのポインタをありがとう!

TL2を作成し、最小信頼レベルをTL0への無視を許可するように下げてみました。しかし、500エラーが発生しています。

テストのために、指定されたnotification_levelmuteに変更したところ、リクエストは成功しました。

無視を機能として許可するためのサイト設定があるかどうか疑問に思っています…管理設定を検索しましたが、今のところ何も見つかっていません…

ああ、expiring_at を指定する必要があるかもしれません…

「いいね!」 1

UIでアクションを実行したときに送信されるリクエストを見ると、時間枠を追加する必要があるかもしれません。

編集:
ああ、先を越されましたね。 :slight_smile:

「いいね!」 1

素晴らしい、ありがとうございます!とても参考になります :slight_smile:

「いいね!」 1

うまくいきました!! ただ、最後に一つ質問があります…

無視したユーザーの投稿は隠されているようですが、トピックは隠されていません…これはWeb UIでも同様のようです。これは予期された動作ですか?

ユーザーオブジェクトの ignored_usernames を使用して、非表示の動作を実装する必要があるようですね :slight_smile: