No se pueden recuperar publicaciones con la API

Estoy intentando usar la API de Discourse para crear una lista de todas las publicaciones (solo las primeras publicaciones) con una etiqueta específica. Hasta ahora, solo he podido obtener las últimas publicaciones, lo que recupera alrededor de 40 publicaciones, incluidos comentarios. Cuando intenté recuperar un ID de publicación específico, algunos funcionaron, pero para otros obtuve la respuesta
{'errors': ['You are not permitted to view the requested resource.'],'error_type': 'invalid_access'}
a pesar de que la clave API que estoy usando tiene acceso de administrador a todas las publicaciones en nuestro Discourse. ¿Alguien ha encontrado este problema antes?

1 me gusta

¿Puedes publicar tu fragmento de código? (Sin incluir la clave de la API)
¿Observas algún patrón aquí sobre qué funciona y qué no?

1 me gusta

Hola @RGJ, noté que puedo recuperar publicaciones individuales si originalmente estaban en la lista recuperada por posts.json. Usé el fragmento de código a continuación

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()

Luego intenté cambiar esta llamada a https://forum.algovera.ai/posts/{id}.json", donde el ID se tomó de la URL de la publicación particular que estaba mirando.

El número en la URL no es el ID, es el número de la publicación, que es relativo al ID del tema.
Si quieres obtener el ID de la publicación, puedes recuperarlo del JSON del tema como post_stream.posts[].id

Por lo tanto, las publicaciones en este tema tienen

ID del tema número de publicación ID
255455 1 1241013
255455 2 1241026
255455 3 1241056

y tu publicación más reciente en este tema es https://meta.discourse.org/posts/1241056.json

1 me gusta

Oh, claro, gracias. Eso funcionó, así que ¿qué necesitaría llamar si quisiera recuperar los temas más recientes y luego el texto sin formato de la primera publicación en cada tema? Vi la llamada List Topics en la documentación, pero no estoy seguro de cuál debería ser la “slug”.