Ryan_NR
(Ryan)
Septembre 30, 2019, 2:34
1
Bonjour à tous, je suis un administrateur de notre instance Discourse, mais je ne parviens pas à interroger certaines endpoints.
Parfois, j’obtiens ceci :
D’autres fois, je reçois le message « Vous devez être connecté pour effectuer cette action ».
J’ai confirmé que la clé API que j’utilise est bien associée à mon compte administrateur et que l’API_Username correspond à mon propre nom d’utilisateur. Auriez-vous des conseils à ce sujet ?
Je suppose que l’appel n’envoie pas les identifiants correctement ?
blake
(Blake Erickson)
Octobre 1, 2019, 1:14
3
Vous pourriez essayer de transmettre les identifiants API dans l’en-tête de la requête plutôt que dans les paramètres de requête. Un exemple devrait être disponible dans le sujet de la documentation de l’API.
Ryan_NR
(Ryan)
Octobre 1, 2019, 1:14
4
Ça pourrait être le cas — je ne suis pas sûr — La configuration que j’ai est simplement la collection Postman téléchargée depuis ici :
API Discourse
Veuillez consulter le site de la documentation de l’API Discourse pour obtenir des informations détaillées :
https://docs.discourse.org
Authentification
Les requêtes API doivent utiliser l’authentification par en-tête HTTP. Transmettez votre Api-Key et votre Api-Username en tant qu’en-têtes HTTP. L’authentification via les paramètres de requête ou le corps de la requête n’est pas prise en charge (cela a été supprimé en avril 2020). Veuillez consulter l’exe…
J’ai simplement remplacé la clé API, le nom d’utilisateur et l’URL de base.
Cette collection n’est-elle plus valide ?
Ryan_NR
(Ryan)
Octobre 1, 2019, 1:15
5
Merci @blake , je vais essayer.
blake
(Blake Erickson)
Octobre 1, 2019, 1:17
6
Ouais, certaines sont probablement obsolètes.
Ryan_NR
(Ryan)
Octobre 1, 2019, 1:21
7
@blake - Le passage des identifiants dans l’en-tête de la requête renvoie la même chose :
{
"errors": [
"Vous n'êtes pas autorisé à afficher la ressource demandée."
],
"error_type": "invalid_access"
}
blake
(Blake Erickson)
Octobre 1, 2019, 1:52
8
J’ai réussi à faire fonctionner la requête API des membres du groupe sur Meta avec cette commande curl :
curl -i -sS -X GET "https://meta.discourse.org/groups/my-private-group/members.json" \
-H "Content-Type: multipart/form-data;" \
-H "Api-Key: key" \
-H "Api-Username: username"
Peut-être pouvez-vous utiliser la fonction « Copier en tant que commande curl » dans Postman et comparer.