Générer/Regénérer api_key pour une API utilisateur ne fonctionne pas

J’essaie d’obtenir une clé API pour un utilisateur, mais je reçois une erreur 404.

Mes autres API fonctionnent correctement, donc ce n’est pas un problème d’en-tête. J’ai également vérifié la configuration du backend : aucun problème.

Le point de terminaison pour créer une nouvelle clé API a changé – nous travaillons à mettre à jour la documentation dès que possible. Vous pouvez désormais créer une nouvelle clé API comme ceci :

curl -X POST http://localhost:3000/admin/api/keys \
  -H "Content-Type: multipart/form-data;" \
  -H "Api-Key: $api_key" \
  -H "Api-Username: system" \
  -F "key[description]=testing" \
  -F "key[username]=bobby"

Je serais intéressé de savoir pourquoi vous créez de nouvelles clés API… en utilisant une clé API. Cela semble un peu circulaire, et je me demande si nous pouvons trouver une meilleure solution à votre problème ?

J’ai créé un nouvel utilisateur via l’API (avec l’API admin et la clé). Maintenant, je dois publier un message ou un sujet pour cet utilisateur.

Mais il semble qu’il n’y ait pas d’API pour le faire… Je pense donc que je devrais créer une API pour cet utilisateur, puis remplacer mon en-tête par cette nouvelle clé API… ainsi je pourrai publier un message ou un sujet au nom de cet nouvel utilisateur.

Plutôt que de créer une clé pour chaque utilisateur, vous pouvez utiliser une clé « tous les utilisateurs », puis modifier l’en-tête Api-Username dans la requête. Un exemple est disponible en haut de https://docs.discourse.org/.

Excellent homme ! Merci. Ça fonctionne parfaitement !