Impossibile recuperare post con API

Sto cercando di utilizzare l’API di Discourse per creare un elenco di tutti i post (solo i primi post) con un tag specifico. Finora, sono riuscito solo a ottenere gli ultimi post, che recuperano circa 40 post, inclusi i commenti. Quando ho provato a recuperare un ID di post specifico, alcuni hanno funzionato, ma per altri ho ottenuto la risposta
{'errors': ['You are not permitted to view the requested resource.'],'error_type': 'invalid_access'}
anche se la chiave API che sto utilizzando ha accesso amministrativo a tutti i post sul nostro Discourse. Qualcuno ha già riscontrato questo problema?

1 Mi Piace

Puoi pubblicare il tuo snippet di codice? (Senza includere la chiave API)
Vedi qualche schema qui su cosa funziona e cosa no?

1 Mi Piace

Ciao @RGJ, ho notato che riesco a recuperare singoli post se erano presenti nell’elenco recuperato originariamente da posts.json. Ho usato lo snippet di codice qui sotto

url = "https://forum.algovera.ai/posts.json"

username = "algovera"

params = {'Api-Key': api_key, "Api-Username": username}

r = requests.get(url = url, params = params)

data = r.json()

Poi ho provato a cambiare questa chiamata in https://forum.algovera.ai/posts/{id}.json", dove l’ID è stato preso dall’URL del particolare post che stavo guardando.

Il numero nell’URL non è l’ID, è il numero del post, che è relativo all’ID dell’argomento.
Se vuoi ottenere l’ID del post puoi recuperarlo dal JSON dell’argomento come post_stream.posts[].id

Quindi i post in questo argomento hanno

|ID argomento|numero post|ID|
|—|—|—|\n|255455|1|1241013|\n|255455|2|1241026|\n|255455|3|1241056|\n

e il tuo post più recente in questo argomento è https://meta.discourse.org/posts/1241056.json

1 Mi Piace

Giusto, grazie. Ha funzionato, quindi cosa dovrei chiamare se volessi recuperare gli argomenti più recenti e poi il testo non elaborato per il primo post di ciascun argomento? Ho visto la chiamata List Topics nella documentazione ma non sono sicuro di quale dovrebbe essere lo slug.