如何获取一个分类的所有主题

大家好,
我需要获取特定类别下的所有主题,并且限于该类别。
因此,根据文档,搜索的 .json 端点似乎是正确的方法。
问题是我不明白如何设置类别过滤器。
我尝试了类似这样的方法:

GET {{ _.base_url }}/search.json?q=#retail after:2023-12-05 order:latest_topic

但结果是 null

{
	"grouped_search_result": null
}

我哪里做错了?如果我删除了类别标签(#retail),它就能工作,但会搜索所有类别。

提前感谢!

您好,

您需要对 q 参数进行编码。

您想要发送的是:?q=%23retail%20after%3A2023-12-05%20order%3Alatest_topic

我已经问了chat-gpt,他给了一个可行的解决方案,但没有任何文档记录:smiley:

GET {{ _.base_url }}/search.json?q=category:magazzino-partner after:2023-12-05

如果我使用类别标签,它就可以工作!

你说得对;这是一个有效的替代高级过滤器!你仍然应该对参数进行编码;这是你的问题(并且可能会成为另一个问题,这取决于你使用什么)。

以下是核心高级过滤器的列表:

in:bookmarks
in:created
in:mine
in:likes
in:watching
in:tracking
in:all-pms
in:first
in:personal-direct
in:pinned
in:posted
in:seen
in:tagged
in:unseen
in:untagged
in:wiki
with:images
status:archived
status:closed
status:noreplies
status:open
status:public
status:single_user
max_posts:<number>
max_views:<number>
min_post_count:<number>
min_posts:<number>
min_views:<number>
posts_count:<number>
after:<date>
badge:<name|id>
before:<date>
category:<slug|id>
created:@<username>
filetypes:<ext[,ext,..]>
filetype:<ext[,ext,..]>
group_messages: <name|id>
group: <name|id>
tag:<name>
tags:<name,name>
-tag:<name>
-tags:<name,name>
user:<username|id>
#<[=]category_slug[:subcategory_slug]>
@<username>
2 个赞

无需为此使用搜索功能,只需使用类别主题列表 json,例如
https://meta.discourse.org/c/dev/7.json

1 个赞

是的,但这样我无法按日期过滤。使用带有“after”的搜索似乎是我的用例的解决方案。

1 个赞

请注意,在搜索中使用 after 会返回某个日期之后有活动的主题,而不是在某个日期之后创建的主题。这与使用最新主题列表并在到达截止日期后停止相同。

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.