Получить последние n новых/обновленных постов через API?

Здравствуйте

Я попытался использовать API для получения последних n сообщений с помощью

uri = URI('https://mydomain.com/forum/latest.json?ascending=false')

однако я заметил следующее:

  • невозможно получить URL каждого сообщения;
  • нельзя строго ограничить результат последними n сообщениями;
  • как ограничить возвращаемые поля? Например, сейчас я получаю все детали.

Есть какие-то идеи?

Вы пытаетесь получить последние n сообщений или последние n тем?

/latest.json вернёт последние темы.

/posts.json вернёт последние сообщения из всех тем.

URL можно просто сформировать на основе результатов, используя topic_id или post_id.

Например, корректный URL для этой темы: https://meta.discourse.org/t/307427, а для сообщения — https://meta.discourse.org/p/1514266.

Нет способа изменить размер страницы по умолчанию, равный 30. Если вам действительно нужно меньше 30, вам придётся указать конкретные ID тем:

https://meta.discourse.org/latest.json?topic_ids[]=307427

Но для этого нужно заранее знать эти ID тем, что обычно не очень удобно. Если вам нужно больше 30, придётся делать несколько запросов и передавать параметр page.

https://meta.discourse.org/latest.json?page=1

Нельзя, вам придётся отфильтровать их самостоятельно из полученных результатов.

Это значение по умолчанию, поэтому указывать ascending=false не нужно, можно просто опустить этот параметр.