Discourse API 返回字段的描述

我正在使用 Discourse API 从论坛中提取帖子。我需要帮助理解 API 返回字段的含义。例如,每个 post 中的 post_type 字段是一个数字。有效的值有哪些,它们分别代表什么?同样,actions_summary 下的 id 也是一个数字。还有其他一些字段,如 readsscore 等,我也不太清楚。请问在哪里可以找到这些信息?谢谢!

1 个赞

如果您的站点已安装 Data Explorer 插件,只需将鼠标悬停在条目上,即可查看所用数字代码的详细信息:

例如,将鼠标悬停在 postspost_type 字段上会显示以下值:

  • regular: 1
  • moderator action: 2
  • small action: 3
  • whisper: 4

除了 Data Explorer 之外,我知道的另一个获取此类信息的地方是 Discourse 源代码。例如,要查找 user_actions 表中每个 action_type 的含义,请在 Rails 控制台中输入 UserAction.types。这将返回以下值:

{:like=>1, :was_liked=>2, :bookmark=>3, :new_topic=>4, :reply=>5, :response=>6, :mention=>7, :quote=>9, :edit=>11, :new_private_message=>12, :got_private_message=>13, :solved=>15, :assigned=>16}

3 个赞

谢谢 @simon!这是一个获取该信息的有趣方式。我根据你的建议进行了一些查找,找到了 这段代码 用于 user_actions,但在大量搜索后仍未找到类似 post_type 的内容。我原本希望 API 返回的每个字段都能在某个地方得到文档说明,至少对于承载重要语义的关键字段是这样。

这完全可以理解。不过确实存在类似的代码,它在这里:discourse/app/models/post.rb at main · discourse/discourse · GitHub 数据库的结构非常一致。希望这能弥补文档方面的不足。

我不确定 API 返回的每个字段都会被文档化,但记录各种返回数字代码的地方似乎很重要。例如:

  • Post.types
  • UserAction.types
  • Notification.types
  • NotificationLevels.all
  • UserOption.email_level_types

如果我们决定推进这项工作,我不确定文档的最佳存放位置。也许是在 https://docs.discourse.org/,但也可能存在相关的技术障碍。

3 个赞

感谢 @simon!是的,列出数字代码对应的英文名称或一句话描述会非常有用。请问我可以在哪里提交这个请求?

1 个赞

我同意这些字段需要文档化。我会将这个主题指派给自己,并确保完成这项工作。

3 个赞