Error: URL de Discourse_api no encontrada

¡Hola a todos,

Estoy intentando usar el gem discourse_api:

client = DiscourseApi::Client.new("https://<mysite>.com")
client.api_key = "<my global key>"
client.api_username = "system"

…como configuración básica, luego

client.latest_topics

devuelve los datos correctamente, pero…

client.get_dashboard_stats

devuelve un error de URL “not_found”. Asumo que algo falla cuando una ruta requiere una clave, ya que client.latest_topics funciona.

He verificado dos veces que la clave es correcta, incluso he creado una nueva y la he probado. También tiene activada la opción de acceso global. La URL también es correcta. ¿Hay algo más que deba verificar? :slight_smile:

¡Saludos!

2 Me gusta

Es muy probable que se trate de un problema de autenticación con la clave de API.

Si abres una nueva ventana de navegación en modo incógnito en tu sitio, sin iniciar sesión, y navegas a esa ruta https://yoursite/admin/dashboard.json, se devolverá:

{"errors":["No se pudo encontrar la URL o el recurso solicitado."],"error_type":"not_found"}

Pero si has iniciado sesión en tu sitio y navegas a la misma URL, deberías ver el resultado en formato JSON.

Otro aspecto que conviene verificar es si la clave de API está configurada para “todos los usuarios” o para “un solo usuario”. Si está configurada para un solo usuario, asegúrate de que coincida con el usuario para el que estás realizando la solicitud de la API.

Dicho esto, parece que los dos puntos de acceso del panel de control en la gema de la API necesitan actualizarse. El método get_dashboard_stats sigue funcionando, pero ya no devuelve tanta información como antes, y parece que get_dashboard_stats_totals necesitará una actualización.

4 Me gusta

Estoy de acuerdo en que probablemente se deba a las claves, pero he probado con las configuraciones “Todos los usuarios” y “Usuario único” (usando un nombre de usuario de administrador) y aún así obtengo el error de no encontrado que publicaste.

La clave es correcta, la URL es correcta y he probado todas las configuraciones diferentes, así como otros puntos de conexión enumerados en los ejemplos de la API. Todos devuelven “No se pudo encontrar la URL o el recurso solicitado”. No se me ocurre qué más hacer :smiley: :sweat_smile. Supongo que los ámbitos de usuario no aplican aquí para las claves globales.

1 me gusta

¿Puedes ejecutar este comando

gem list discourse_api

para ver qué versión del gem discourse_api estás usando?

3 Me gusta

0.10.0: probablemente esa sea la razón, ya que está intentando usar parámetros de URL en lugar de encabezados HTTP :slight_smile: ¡Gracias!

3 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.