¿Puedo enviar una URL externa a la API de Discourse para que devuelva temas que enlacen a esa URL?

¿Sería posible, en un sitio web externo que no sea de Discourse, tener una sección de “Temas del foro que discuten esta página” que contenga enlaces a los temas relevantes del foro de Discourse?

Si la API puede tomar una URL y devolver una lista de identificadores/URL de temas, eso sería perfecto.

¿Conoces Incrustar comentarios de Discourse en otro sitio web a través de Javascript?

Pero si crees que varios temas enlazan a una página, entonces podrías usar la tabla TopicLink para buscar temas que enlacen a esa URL (probablemente con el complemento Data Explorer) y luego tendrías los IDs de tema y publicación para poder enlazar a ellos.

No creo que haya un endpoint para obtenerlos. Un complemento podría hacer uno disponible, creo. Además, Discourse GitHub hace algo parecido, así que eso podría ayudar.

1 me gusta

¿Crees que podría crear una consulta con un parámetro de URL y ejecutarla a través de la API usando esto? Run Data Explorer queries with the Discourse API.

2 Me gusta

Sí, creo que sí, algo así.

Prueba esto, por ejemplo:

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

Organizar los resultados en JavaScript.

Si un anónimo puede usar la búsqueda, quizás ni siquiera necesites una clave de API (entonces puedes poner esto del lado del cliente)

Sin embargo, es posible que desees almacenar en caché los resultados en el servidor externo para obtener los mejores resultados y evitar que el pobre Discourse se vea abrumado con las consultas de búsqueda.

Por lo tanto, esto probablemente implique escribir código del lado del servidor en tu sitio web externo para obtener el mejor resultado.

2 Me gusta

Vaya, gracias Robert, esto sí funciona, acabo de probarlo en mi propio servidor.

Esto suena muy parecido a algo que estaba tratando de hacer antes. Mi otro servidor usa PHP y descubrí cómo usar comandos Curl en un módulo PHP para acceder a la API y devolver resultados json a una llamada ajax desde el cliente. Aquí está ese tema

1 me gusta

¡Oh! Por supuesto. ¡Una búsqueda normal encontrará la URL! :person_facepalming:

1 me gusta