我正在开发 https://mentionme.app,希望从公开可用的 Discourse 论坛中获取最新内容。为此,我选择了 /posts.json API 端点。
我注意到该端点返回的元素数量似乎是随机的。文档说明它将返回最新的 50 条帖子,但仔细观察(例如 https://meta.discourse.org/posts.json)会发现,返回的并非最新的 50 条帖子,而是 ID 范围从 max-50 到 max 的帖子,其中还有一些缺失。
我猜测该端点中帖子数量不足 50 条是 API 的一个缺陷——我理解得对吗?
我推测帖子 ID 是从一个更大的 ID 池中分配的,该池还包含其他内容(例如用户 ID?),因此我不必为此担心。
能否有人帮我消除这些疑虑?
特别是对于某些值,列表为空,例如:https://meta.discourse.org/posts.json?before=1234。如果在不带 “before” 参数的列表(“posts.json”)返回空列表,且我无法获取最大帖子 ID 以开始操作时,我该怎么办?
Falco
(Falco)
3
有些帖子位于你无法查看的受保护分类中,另一些则位于私信中,不会出现在该接口里(该接口列出的是你可读主题中的最新帖子)。
例如,当前这条帖子的 ID 是 621820,下一条是 @gerhard 发布的 621818。缺失的 621819 是一条私信,因此你无法看到它。
感谢解释,现在清楚了。我正在扫描多个 Discourse 论坛,目前在生产环境中遇到了一次该问题(不带"before"参数的 posts.json 返回空列表)。这不算什么大问题,但值得留意。