Мне нужно, чтобы Discourse мог напрямую получать информацию о последнем комментарии к теме. Нужно только указать ID темы и номер поста, без необходимости указывать конкретный комментарий, чтобы получить последний. Есть ли такой API?
Я бы рекомендовал для этого использовать запрос через Data Explorer. Вы можете программно выполнять запросы и получать результаты в формате JSON. Вот пример:
-- [params]
-- post_id :post_id
SELECT
p.id,
p.topic_id,
p.post_number,
p.raw AS raw_content, -- Markdown/исходный текст
p.cooked AS html_content, -- Отрендеренный HTML
p.user_id,
p.created_at,
p.updated_at
FROM posts p
WHERE p.id = :post_id
AND p.deleted_at IS NULL -- удалите эту строку, если нужны также удалённые посты
-- AND p.hidden = false -- опционально: исключите скрытые посты
LIMIT 1;
Это два разных сервиса, доступ к которым возможен только через интеграцию по API.
Может, вы могли бы немного подробнее объяснить, чего вы пытаетесь добиться? Тогда я, например, мог бы написать для вас скрипт на Python ![]()
Вы можете создать запрос для обозревателя данных, а затем вызвать его с помощью API.
Спасибо всем экспертам, я уже решил это другими способами.
Не могли бы вы поделиться, как вы решили эту проблему? Это может помочь другим, у которых возник тот же вопрос.
Это делается через два вызова API: сначала получают общее количество комментариев, а затем по этому количеству запрашивают последний.