我们正在构建一个自定义集成,将我们的自托管 Discourse 实例集成到我们的应用程序中,并希望过滤来自 https://docs.discourse.org/#tag/Categories/operation/listCategoryTopics 的结果,以便显示最新和最热门的主题。目前,它每页分页 30 个索引。
我们需要的操作是:
- 过滤结果,使返回的 30 个索引是最新或最热门的主题(理想情况)
- 增加分页限制,以便在客户端进行过滤/排序(非理想情况,但可行)
提前感谢!
我们正在构建一个自定义集成,将我们的自托管 Discourse 实例集成到我们的应用程序中,并希望过滤来自 https://docs.discourse.org/#tag/Categories/operation/listCategoryTopics 的结果,以便显示最新和最热门的主题。目前,它每页分页 30 个索引。
我们需要的操作是:
提前感谢!
您好,
我认为您要找的是这个:
/c/{slug}/{id}/l/{filter}.json?{query}
其中:
{filter} 是以下之一:
latest
unread
new
unseen
top
read
posted
bookmarks
{query} 可以是(可能不详尽):
page=<int>
before=<timestamp>
bumped_before=<timestamp>
topic_ids=<id1[,id2, ..]>
order=<likes|op_likes|views|posts|activity|posters|category|created>
ascending=<true|false>
min_posts=<int>
max_posts=<int>
status=<open|closed|archived|listed|unlisted|deleted>
state=<muted|regular|normal|tracking|watching>
search=<term>
subset=<topics|replied>
tags=<tag1[,tag2,..]>
match_all_tags=<true|false>
no_subcategories=<true|false>
no_tags=<true|false>
exclude_tag=<tag>
看起来您无法通过 API 更改 per_page。
您可以通过 order 进行调整,并通过 page 进行分页。您可以使用 more_topic_url 来了解下一个要使用的 URL,请参见下面的响应示例:
值得注意的是:Experimental topics list filter feature
希望这有帮助!