Discourse 用户笔记 API

我想使用 Discourse API 获取用户的所有用户笔记。笔记是通过 discourse-user-notes 应用的。

使用 按 ID 获取用户,我可以看到 user_note_count 字段。但是,我似乎找不到用户笔记的内容。

我想将信息附加到用户,例如电子邮件的正文或工作人员与用户的视频会议要点。我希望使用 Discourse PostgreSQL 数据,而不是创建带有笔记字段的重复数据库。

我希望使用现有的 discourse-user-notes,因为它已经内置了。

我有一个独立的桌面应用程序供工作人员使用,该应用程序使用 Discourse API,并用 Dart/Flutter 编写,通过 HTTP 请求与 Discourse 通信。

我没有 Ruby 经验。

有没有办法从这个文件中获取信息,该文件可能作为 HTTP API 公开?

2 个赞

我建议您使用数据探索器插件和通过 Discourse API 运行数据探索器查询;它在某种程度上允许您生成自己的 API 端点(用于检索数据探索器数据)。

您是作为可以读取这些备注的用户发出的请求吗?

1 个赞

谢谢你的帮助。我需要运行什么查询才能看到用户笔记的内容?

是否有什么方法可以从插件的源代码中看到笔记存储在哪些字段中?也许我可以以某种方式显示用户的 custom_field?

我不知道如何阅读 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.