Discourse-user-notes API

Discourse API を使用して、ユーザーのすべてのユーザーノートを取得したいと考えています。ノートは discourse-user-notes で適用されます。

Get a user by id を使用すると、user_note_count フィールドを確認できます。しかし、ユーザーノートの内容を見つけることができません。

メールの本文や、スタッフがユーザーと行ったビデオ会議の要点など、ユーザーに情報を添付したいと考えています。ノート用の重複データベースを作成するのではなく、Discourse PostgreSQL データを使用したいと考えています。

既存の discourse-user-notes が既に構築されているため、それを使用したいと考えています。

Discourse API を使用し、Discourse と通信するために http リクエストを使用して書かれた Dart/Flutter の別のデスクトップ アプリケーションがあります。

Ruby の経験はありません。

このファイルから、HTTP API として公開されている可能性のある情報を取得する方法はありますか?

「いいね!」 2

データエクスプローラープラグインとDiscourse API でデータエクスプローラークエリを実行するを使用することをお勧めします。これにより、独自の API エンドポイント(データエクスプローラーデータを取得するため)を生成できます。

それらのノートを読み取ることができるユーザーとしてリクエストしていますか?

「いいね!」 1

ご協力ありがとうございます。ユーザーノートの内容を確認するには、どのクエリを実行する必要がありますか?

プラグインのソースコードから、ノートが格納されているフィールドを確認する方法はありますか?もしかしたら、カスタムフィールドをユーザーに表示できるかもしれませんか?

Ruby の読み方はわかりませんが、Discourse のどこかに user_notes という名前のフィールドがあり、それを user.id で検索して、notes オブジェクトに raw フィールドがあるのかもしれませんか?

推測にすぎません。ユーザーをプルして、ノートを Discourse 以外の別のデータベースに保存するかもしれません。しかし、可能であれば Discourse でデータを使用したいと考えています。特定のユーザーと投稿にノートを簡単に添付できるためです。

      notes = notes_for(user.id)
      record = {
        id: SecureRandom.hex(16),
        user_id: user.id,
        raw: raw,
        created_by: created_by,
        created_at: Time.now
      }.merge(opts)

      notes << record
      ::PluginStore.set("user_notes", key_for(user.id), notes)

      user.custom_fields[COUNT_FIELD] = notes.size
      user.save_custom_fields

管理権限でユーザーのリストを取得しており、どのユーザーにノートが適用されているかを確認しています。ノートを持つユーザーのリストを特定した後、スタッフがユーザーの背景情報で質問に簡単に回答できるように、ノートを表形式で表示したいと考えています。


/user_notes.json?user_id=2 を使用しようとしています。

「いいね!」 1

@Falco さんのおかげで、user_notes を取得できるようになりました。

curl https://community.domain.com/admin/reports/user_notes.json \
  -H 'Api-Key: abcdefghijklmnop' \
  -H 'Api-Username: system'
「いいね!」 4

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.