我想使用 Discourse API 获取用户的所有用户笔记。笔记是通过 discourse-user-notes 应用的。
使用 按 ID 获取用户,我可以看到 user_note_count 字段。但是,我似乎找不到用户笔记的内容。
我想将信息附加到用户,例如电子邮件的正文或工作人员与用户的视频会议要点。我希望使用 Discourse PostgreSQL 数据,而不是创建带有笔记字段的重复数据库。
我希望使用现有的 discourse-user-notes,因为它已经内置了。
我有一个独立的桌面应用程序供工作人员使用,该应用程序使用 Discourse API,并用 Dart/Flutter 编写,通过 HTTP 请求与 Discourse 通信。
我没有 Ruby 经验。
有没有办法从这个文件中获取信息,该文件可能作为 HTTP API 公开?
2 个赞
pfaffman
(Jay Pfaffman)
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 个赞
system
(system)
关闭
5
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.