Могу ли я отправить внешний URL в API Discourse, чтобы получить темы, ссылающиеся на этот URL?

Возможно ли на внешнем сайте, не являющемся частью Discourse, создать раздел «Темы форума, обсуждающие эту страницу», содержащий ссылки на соответствующие темы форума Discourse?

Если API сможет принимать URL и возвращать список идентификаторов тем или их URL, это было бы идеально.

Знаете ли вы о встраивании комментариев Discourse на другой веб-сайт с помощью JavaScript?

Однако, если вы считаете, что несколько тем ссылаются на одну страницу, вы можете использовать таблицу TopicLink для поиска тем, которые ссылаются на этот URL (вероятно, с помощью плагина Data Explorer), и тогда у вас будут идентификаторы тем и сообщений, чтобы можно было на них ссылаться.

Я не думаю, что существует конечная точка для их получения. Я полагаю, что плагин мог бы сделать её доступной. Также Discourse GitHub делает нечто подобное, так что это может помочь.

Как вы думаете, смогу ли я создать запрос с параметром URL и запустить его через API, используя это? Run Data Explorer queries with the Discourse API.

Да, я так думаю, в каком-то смысле.

Попробуйте, например, это:

https://meta.discourse.org/search.json?q=https%3A%2F%2Fnews.bbc.co.uk

Оформите результаты на JavaScript.

Если анонимы могут использовать поиск, возможно, вам даже не понадобится API-ключ (тогда вы сможете разместить это на стороне клиента).

Однако, возможно, вам стоит кэшировать результаты на внешнем сервере для наилучшего результата и чтобы избежать перегрузки Discourse запросами поиска.

Так что, скорее всего, для наилучшего результата это потребует написания серверного кода на вашем внешнем сайте.

Вау, спасибо, Роберт, это работает, я только что проверил на своём сервере.

Это звучит очень похоже на то, что я пытался сделать ранее. На моём другом сервере используется PHP, и я разобрался, как использовать команды Curl в модуле PHP для обращения к API и возврата результатов JSON в AJAX-запрос от клиента. Вот та тема:

О! Конечно. Обычный поиск найдёт URL! :person_facepalming: