Posso enviar uma URL externa para a API do Discourse para que ela retorne tópicos que a referenciam?

Seria possível, em um site externo que não seja o Discourse, ter uma seção “Tópicos do fórum que discutem esta página” contendo links para os tópicos relevantes do Discourse?

Se a API puder receber uma URL e retornar uma lista de IDs/URLs de tópicos, isso seria perfeito.

Você conhece Embed Discourse comments on another website via Javascript?

Mas se você acha que vários tópicos apontam para uma página, você pode usar a tabela TopicLink para pesquisar tópicos que apontam para essa URL (provavelmente com o plugin Data Explorer) e então você terá os IDs do tópico e da postagem para poder vinculá-los.

Eu não acho que exista um endpoint para obtê-los. Um plugin poderia disponibilizar um, eu acho. Além disso, Discourse GitHub faz algo parecido, então isso pode ajudar.

1 curtida

Você acha que eu poderia criar uma consulta com um parâmetro de URL e executá-la via API usando isto? Run Data Explorer queries with the Discourse API.

2 curtidas

Sim, eu acho que sim, mais ou menos.

Tente isto, por exemplo:

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

Organize os resultados em JavaScript.

Se um anônimo pode usar a pesquisa, talvez você nem precise de uma chave de API (então você pode colocá-la no lado do cliente)

No entanto, você pode querer armazenar os resultados em cache no servidor externo para obter os melhores resultados e evitar que o Discourse externo fique sobrecarregado com as consultas de pesquisa.

Portanto, isso provavelmente envolve escrever código do lado do servidor em seu site externo para obter o melhor resultado.

2 curtidas

Uau, obrigado Robert, isso funciona mesmo, acabei de testar no meu próprio servidor.

Isso soa muito parecido com algo que eu estava tentando fazer antes. Meu outro servidor usa PHP e eu descobri como usar comandos Curl em um módulo PHP para acessar a API e retornar resultados json para uma chamada ajax do cliente. Aqui está esse tópico

1 curtida

Ah! Claro. Uma busca normal encontrará a URL! :person_facepalming:

1 curtida