Skip to main content
X API requiert une authentification pour tous les endpoints. Le XDK prend en charge trois méthodes d’authentification :
  1. Jeton Bearer (app-only)
  2. OAuth 2.0 avec PKCE
  3. OAuth 1.0a (contexte utilisateur)
  • Jeton Bearer : utilisez cette méthode pour un accès en lecture seule aux endpoints qui prennent en charge l’authentification d’App (par exemple, recherche de Publications, endpoints de streaming).
  • OAuth 2.0 PKCE : authentification sécurisée pour un accès fondé sur des scopes, autorisé par l’utilisateur (par exemple, récupérer les métriques non_public des Publications de l’utilisateur authentifié).
  • OAuth 1.0a : méthode d’authentification héritée pour les opérations spécifiques à un utilisateur (par exemple, publier au nom d’un utilisateur, gérer des Listes).
Obtenez des identifiants à partir de la Console de développement X. Vous aurez besoin d’un compte développeur approuvé et d’une App avec les autorisations appropriées (par exemple, Lecture + Écriture).

Création d’un Client

Tous les flux d’authentification créent une instance de Client :

1. Jeton Bearer (App uniquement)

Pour les opérations en lecture seule sans contexte utilisateur. Étapes :
  1. Dans la Console de développement, générez un Jeton Bearer pour votre App.
  2. Passez-le au Client. Exemple :
**Utilisation **:

2. OAuth 2.0 avec PKCE (contexte utilisateur)

Cet exemple montre comment utiliser OAuth 2.0 avec Proof Key for Code Exchange (PKCE). Utilisez ce flux pour un accès spécifique à un utilisateur (par exemple pour publier au nom d’un utilisateur, téléverser des médias pour un utilisateur, etc.). Étapes :
  1. Dans la Console de développement, enregistrez votre App avec un URI de redirection (par exemple : http://localhost:8080/callback).
  2. Obtenez l’id de client (aucun secret n’est nécessaire pour PKCE).
  3. Démarrez le flux, redirigez l’utilisateur vers l’URL d’authentification et gérez le callback. Exemple (en utilisant un serveur web pour le callback) :
Rafraîchissement du jeton (automatique dans le SDK pour les sessions longues) :

3. OAuth 1.0a (contexte utilisateur)

Pour les anciennes applications ou certains cas d’utilisation spécifiques qui nécessitent une authentification OAuth 1.0a : Étapes :
  1. Dans la Console de développement, récupérez votre API Key et votre API Secret.
  2. Si vous disposez déjà de jetons d’accès, utilisez-les directement. Sinon, effectuez le flux OAuth 1.0a pour les obtenir.
  3. Créez une instance OAuth1 et passez-la au Client. Exemple (avec des jetons d’accès existants) :
Exemple (flux OAuth 1.0a complet) :
Remarque :
  • Ne codez jamais en dur de secrets en production ; utilisez des variables d’environnement ou des gestionnaires de secrets (par exemple, os.getenv("X_BEARER_TOKEN")).
  • Pour PKCE, assurez-vous d’utiliser HTTPS pour les URL de redirection en production.
  • Le SDK vérifie les jetons et lève xdk.AuthenticationError en cas d’échec. Pour des exemples de code détaillés utilisant le XDK pour Python, consultez notre dépôt GitHub d’exemples de code.