Hola a todos. Soy bastante nuevo en Discourse y revisé la sección Todos los ajustes del sitio (/admin/site_settings) para encontrar una opción que permitiera a cualquier nivel de usuario dar “me gusta” a las publicaciones usando la API REST.
En este momento, todos los usuarios pueden (sin ser públicos) crear temas, agregar respuestas, etc. Sin embargo, un usuario normal (tl0, tl1, etc.) no puede dar “me gusta” a ninguna publicación a través de la API (pero puede hacerlo usando el panel web).
Aquí están la configuración de mi categoría:
Estoy usando el siguiente código para agregar un “me gusta” a través de la API
public async likeOrThrow(contentId: number, username: string) {
try {
this.overrideUsername(username);
const res = await this.client.post(`post_actions.json`, {
id: contentId,
post_action_type_id: 2,
flag_topic: false,
});
return res.data;
} catch (error) {
throw this.getException(error);
} finally {
this.resetUsername();
}
}
Esto lanza:
No tienes permiso para ver el recurso solicitado.
Sin embargo, si inicio sesión en Discourse como el usuario, ese usuario puede dar “me gusta”.
Hasta ahora, he integrado las API de creación de temas, creación de publicaciones y marcadores con la misma clave API, las mismas categorías y el mismo nombre de usuario, y funcionan sin problemas de permisos.
¿Podrían ayudarme a averiguar qué estoy haciendo mal? Avísenme si se necesita más información.
Gracias.
