Erreur URL Discourse_api introuvable

Bonjour à tous,

J’essaie d’utiliser le gem discourse_api :

client = DiscourseApi::Client.new("https://<mysite>.com")
client.api_key = "<ma clé globale>"
client.api_username = "system"

…en tant que configuration de base, puis

client.latest_topics

renvoie correctement les données, mais…

client.get_dashboard_stats

renvoie une erreur URL “not_found”. Je suppose que quelque chose échoue lorsqu’une route nécessite une clé, puisque client.latest_topics fonctionne.

J’ai vérifié deux fois que la clé est correcte, j’en ai même créé une nouvelle et j’ai essayé avec. L’option d’accès global est également cochée. L’URL est également correcte. Y a-t-il autre chose que je devrais vérifier ? :slight_smile:

Salutations !

2 « J'aime »

Cela est très probablement dû à un problème d’authentification par clé API.

Si vous ouvrez une nouvelle fenêtre de navigation privée sur votre site sans être connecté et que vous accédez à l’adresse https://yoursite/admin/dashboard.json, vous obtiendrez :

{"errors":["L'URL ou la ressource demandée est introuvable."],"error_type":"not_found"}

En revanche, si vous êtes connecté à votre site et que vous accédez à la même URL, vous devriez voir le résultat au format JSON.

Une autre vérification à effectuer concerne la configuration de la clé API : est-elle attribuée à « tous les utilisateurs » ou à un « utilisateur unique » ? Si elle est définie pour un utilisateur unique, assurez-vous qu’elle correspond bien à l’utilisateur pour lequel la requête API est effectuée.

Cela dit, il semble que les deux points de terminaison du tableau de bord dans le gem API nécessitent une mise à jour. La fonction get_dashboard_stats fonctionne toujours, mais elle ne renvoie plus autant d’informations qu’auparavant, et il semble que get_dashboard_stats_totals doive être mise à jour.

4 « J'aime »

Je suis d’accord pour dire qu’il s’agit probablement d’un problème lié aux clés, mais j’ai essayé avec les paramètres « Tous les utilisateurs » et « Un seul utilisateur » (en utilisant un nom d’utilisateur administrateur) et j’obtiens toujours l’erreur « non trouvée » que vous avez signalée.

La clé est correcte, l’URL est correcte et j’ai testé tous les paramètres différents ainsi que d’autres points de terminaison répertoriés dans les exemples de l’API. Tous renvoient « L’URL ou la ressource demandée est introuvable ». Je ne vois pas grand-chose d’autre à faire :blush: :sweat_smile: Je suppose que les portées utilisateur ne s’appliquent pas ici pour les clés globales ?

1 « J'aime »

Peux-tu exécuter cette commande

gem list discourse_api

pour voir quelle version du gem discourse_api tu utilises ?

3 « J'aime »

0.10.0 — c’est probablement la raison : il tente d’utiliser des paramètres d’URL au lieu des en-têtes HTTP :slight_smile: Merci !

3 « J'aime »

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