Discourse-User-Notes API

Ich möchte alle Benutzernotizen für einen Benutzer über die Discourse-API abrufen. Die Notizen werden mit discourse-user-notes angewendet.

Mit Get a user by id kann ich das Feld user_note_count sehen. Allerdings kann ich den Inhalt der Benutzernotiz nicht finden.

Ich möchte Informationen an einen Benutzer anhängen, wie z. B. den Text einer E-Mail oder die wichtigsten Punkte einer Videokonferenz, die Mitarbeiter mit dem Benutzer hatten. Ich hoffe, die bestehende Discourse PostgreSQL-Datenbank anstelle der Erstellung einer doppelten Datenbank mit Feldern für Notizen zu verwenden.

Ich hoffe, die vorhandenen discourse-user-notes zu verwenden, da sie bereits integriert sind.

Ich habe eine separate Desktop-Anwendung für Mitarbeiter, die die Discourse-API verwendet und in Dart/Flutter mit HTTP-Anfragen zur Kommunikation mit Discourse geschrieben ist.

Ich habe keine Erfahrung mit Ruby.

Gibt es eine Möglichkeit, Informationen aus dieser Datei zu erhalten, die möglicherweise als HTTP-API verfügbar gemacht werden?

discourse-user-notes/plugin.rb at main · discourse/discourse-user-notes · GitHub

2 „Gefällt mir“

Ich empfehle, dass Sie das Data Explorer-Plugin und Run Data Explorer queries with the Discourse API verwenden. Es ermöglicht Ihnen quasi, Ihren eigenen API-Endpunkt zu generieren (um Data Explorer-Daten abzurufen).

Fordern Sie dies als Benutzer an, der diese Notizen lesen kann?

1 „Gefällt mir“

Vielen Dank für Ihre Hilfe. Welche Abfrage benötige ich, um den Inhalt der Benutzernotizen anzuzeigen?

Gibt es eine Möglichkeit, die Felder, in denen die Notiz gespeichert ist, aus dem Quellcode des Plugins einzusehen? Vielleicht kann ich ein benutzerdefiniertes Feld für den Benutzer irgendwie anzeigen?

Ich weiß nicht, wie man Ruby liest, aber vielleicht gibt es irgendwo ein Feld namens user_notes in Discourse, nach dem ich mit user.id suchen kann, und dann gibt es ein Objekt notes mit einem Feld raw?

Ich rate nur. Ich werde vielleicht die Benutzer abrufen und die Notizen in einer separaten Datenbank speichern, nicht in Discourse. Ich würde die Daten jedoch gerne in Discourse verwenden, da es einfacher ist, die Notiz einem bestimmten Benutzer und Beitrag zuzuordnen.

      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

Ich rufe die Liste der Benutzer als Administrator ab, um zu sehen, welche Benutzer Notizen haben. Nachdem ich die Liste der Benutzer mit Notizen identifiziert habe, möchte ich die Notizen in einer Tabelle anzeigen, damit das Personal Fragen mit den Hintergrundinformationen für den Benutzer leichter beantworten kann.


Ich versuche, /user_notes.json?user_id=2 zu verwenden

1 „Gefällt mir“

Dank @Falco kann ich die user_notes abrufen.

curl https://community.domain.com/admin/reports/user_notes.json \
  -H 'Api-Key: abcdefghijklmnop' \
  -H 'Api-Username: system'
4 „Gefällt mir“

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