Discourse-user-notes API

Voglio recuperare tutte le note utente per un utente utilizzando l’API di Discourse. Le note sono applicate con discourse-user-notes.

Utilizzando Ottieni un utente per id, posso vedere il campo user_note_count. Tuttavia, non riesco a trovare il contenuto della nota utente.

Voglio allegare informazioni a un utente come il corpo di un’email o i punti principali di una videoconferenza che lo staff ha avuto con l’utente. Spero di utilizzare i dati PostgreSQL di Discourse invece di creare un database duplicato con campi per le note.

Spero di utilizzare l’esistente discourse-user-notes poiché è già integrato.

Ho un’applicazione desktop separata per lo staff che utilizza l’API di Discourse ed è scritta in Dart/Flutter utilizzando richieste HTTP per comunicare con Discourse.

Non ho esperienza con Ruby.

C’è un modo per ottenere informazioni da questo file che potrebbe essere esposto come API HTTP?

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

2 Mi Piace

Ti consiglio di utilizzare il plugin Data Explorer e Esegui query Data Explorer con l’API di Discourse; ti permette in un certo senso di generare il tuo endpoint API (per recuperare i dati di Data Explorer).

Stai richiedendo come utente che può leggere quelle note?

1 Mi Piace

Grazie per il tuo aiuto. Qual è la query che devo eseguire per vedere il contenuto delle note utente?

C’è un modo per vedere i campi in cui è memorizzata la nota dal codice sorgente del plugin? Forse posso mostrare un campo personalizzato per l’utente in qualche modo?

Non so leggere Ruby, ma forse c’è un campo chiamato user_notes in Discourse da qualche parte che posso cercare con user.id e poi c’è un oggetto notes con un campo raw?

Sto solo indovinando. Potrei semplicemente estrarre gli utenti e memorizzare le note in un database separato, non in Discourse. Tuttavia, vorrei utilizzare i dati in Discourse se possibile, poiché sarà più facile allegare la nota a un utente e a un post specifici.

      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

Sto estraendo l’elenco degli utenti come amministratore per vedere quali utenti hanno note applicate. Dopo aver identificato l’elenco degli utenti con le note, voglio visualizzare le note in una tabella in modo che lo staff possa rispondere alle domande più facilmente con le informazioni di base per l’utente.


Sto cercando di usare /user_notes.json?user_id=2

1 Mi Piace

Grazie a @Falco , sono in grado di ottenere le note utente.

curl https://community.domain.com/admin/reports/user_notes.json \
  -H 'Api-Key: abcdefghijklmnop' \
  -H 'Api-Username: system'
4 Mi Piace

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