Comment obtenir une clé API

J’essaie de créer un sujet par programme avec Python sur une instance Discourse où j’ai le rôle d’administrateur.

La documentation indique :

vous devrez créer une clé API à partir du panneau d’administration

J’ai cherché/regardé dans le panneau d’administration, mais je ne trouve pas où je peux générer cette clé API.

Malheureusement, j’ai déjà perdu pas mal de temps à chercher comment générer une clé que je peux utiliser comme en-tête Api-Key. Ça devrait être simple ? Où puis-je la générer ?

De plus, peu m’importe le type de clé d’API que je peux obtenir, qu’il s’agisse de system ou de mon propre username.

La seule chose qui m’importe est la possibilité de créer un sujet par programme à l’aide d’un script Python.

Bonjour et bienvenue @dsclrsr :slightly_smiling_face:

Vous devriez pouvoir générer une clé d’API à partir de la page des clés d’API d’administration [YourSite]/admin/api/keys

3 « J'aime »

Ok, il s’avère que je ne suis pas un administrateur à proprement parler, même si je peux accéder au panneau d’administration sur /admin/, je ne peux pas accéder à /admin/api/keys. J’ai demandé à l’hébergeur qui a configuré le forum et il a pu me créer une clé à cet endroit.

Il semble y avoir une distinction entre « admin » (comme un modérateur) et « admin » (comme un administrateur système).

2 « J'aime »

Ah oui. Modérateur et Administrateur sont des rôles distincts dans Discourse. Un Modérateur a beaucoup de fonctions de haut niveau pour la modération des utilisateurs et du contenu, mais un Administrateur (ou Sysadmin) a accès à beaucoup plus de paramètres et de fonctions concernant la configuration du forum lui-même. Vous pouvez lire plus d’informations sur ces rôles dans Understanding user statuses, roles, and permissions

2 « J'aime »

Merci pour votre aide !

2 « J'aime »

Salut @JammyDodger,

Pourriez-vous expliquer les paramètres de requête pour cette API ou partager la documentation ?

Je reçois une réponse sans le paramètre scopes, mais lorsque j’inclus le paramètre scopes, cela entraîne des erreurs.

Si possible, veuillez partager un exemple de code pour cette API. Merci !