Как получить все темы категории

Всем привет,
мне нужно получить все и только темы определённой категории.
Согласно документации, кажется, правильный способ — использовать конечную точку search.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

Я спросил ChatGPT, и он дал решение, которое работает, но нигде не задокументировано :blush:

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>

Нет необходимости использовать функцию поиска для этого, просто используйте JSON-список тем категории, например

https://meta.discourse.org/c/dev/7.json

Да, но в таком случае я не могу фильтровать по дате. Использование поиска с параметром “after” кажется решением для моего случая.

Обратите внимание, что использование after в поиске возвращает темы с активностью после определённой даты, а не темы, созданные после определённой даты. Это то же самое, что использовать список последних тем и останавливаться, когда вы переходите за указанную дату.