Presumo che tu abbia creato gli argomenti tramite l’API e impostato il parametro external_id.
Non sono sicuro se questo aiuti, ma Discourse ha una route t/external_id/:external_id. Sembra che restituisca solo dati JSON:
Quindi puoi ottenere il JSON dell’argomento a (ad esempio)
/t/external_id/2023-4.json
Ciò restituirebbe il contenuto e l’id dell’argomento Discourse. Non credo che questo risolva il tuo problema, però.
Sto testando ora, vengono restituiti dati JSON, ma Discourse esegue un reindirizzamento automatico all’URL effettivo dell’argomento Discourse quando effettui la richiesta. Ad esempio, una richiesta GET a http://localhost:4200/t/external_id/1.json mi reindirizza a http://localhost:4200/t/testing-the-external-id-param/206.json
Vorrei avere qualcosa nel formato di post incorporati. Discourse fa già un ottimo lavoro con quel layout e non voglio reinventare la ruota.
Non consentendo la ricerca tramite external_id, dovrei memorizzare l’ID dell’argomento del forum nel mio database e cercare in quel modo. Sembra ridondante quando abbiamo già una variabile univoca memorizzata in external_id quando ho creato l’argomento dall’API.
Forse questo potrebbe essere aggiunto come funzionalità.
Potrebbe anche essere possibile effettuare una richiesta sul client a (ad esempio) http://localhost:4200/t/external_id/1.json
Quindi estrarre l’URL effettivo dell’argomento dalla risposta e analizzare quell’URL per estrarre l’id dell’argomento, o effettuare una seconda richiesta all’URL dell’argomento per ottenere l’id dell’argomento.
Ciò sembra probabilmente incline all’errore.
Se stai aggiungendo lo script di incorporamento sul server invece che sul client, potresti semplicemente effettuare una richiesta GET a http://localhost:4200/t/external_id/1.json, eseguire le azioni necessarie per ottenere l’id dell’argomento di Discourse, quindi inserire lo script nella tua pagina web usando quell’id.
Questo è un buon feedback e mi dà degli spunti su cui riflettere. La richiesta di funzionalità è la più semplice, ma mi piacciono alcune delle tue idee a cui non avevo pensato!