Skip to main content
La X API requiere autenticación para todos los endpoints. El XDK admite tres métodos de autenticación:
  1. Bearer Token (app-only)
  2. OAuth 2.0 con PKCE
  3. OAuth 1.0a (contexto de usuario)
  • Bearer Token: Úsalo para acceso de solo lectura en endpoints que admiten autenticación de app (por ejemplo, buscar Posts, endpoints de streaming).
  • OAuth 2.0 PKCE: Autenticación segura para acceso autorizado por el usuario y basado en scopes (por ejemplo, obtener las métricas no públicas del Post del usuario autenticado).
  • OAuth 1.0a: Autenticación heredada para operaciones específicas del usuario (por ejemplo, publicar en nombre de un usuario, gestionar listas). Obtén las credenciales desde la X Developer Console. Necesitarás una cuenta de desarrollador aprobada y una app con los permisos adecuados (por ejemplo, Read + Write).

Crear un Client

Todos los flujos de autenticación crean una instancia de Client:

1. Bearer Token (App-Only)

Para operaciones de solo lectura sin contexto de usuario. Pasos:
  1. En la Developer Console, genera un Bearer Token para tu app.
  2. Pásalo al Client. Ejemplo:
Uso:

2. OAuth 2.0 con PKCE (contexto de usuario)

Este ejemplo muestra cómo usar OAuth 2.0 con Proof Key for Code Exchange (PKCE). Úsalo para acceso específico de un usuario (por ejemplo, publicar en nombre de un usuario, subir contenido multimedia para un usuario, etc.). Pasos:
  1. En la Developer Console, registra tu app con una URI de redirección (por ejemplo, http://localhost:8080/callback).
  2. Obtén el Client ID (no se necesita secret para PKCE).
  3. Inicia el flujo, dirige al usuario a la URL de autorización y gestiona el callback. Ejemplo (usando un servidor web para el callback):
Example
Renovación de token (automática en el SDK para sesiones de larga duración):

3. OAuth 1.0a (contexto de usuario)

Para aplicaciones heredadas o casos de uso específicos que requieren autenticación con OAuth 1.0a: Pasos:
  1. En la Developer Console, obtén tu API Key y API Secret.
  2. Si ya tienes access tokens, úsalos directamente. De lo contrario, completa el flujo de OAuth 1.0a para obtenerlos.
  3. Crea una instancia de OAuth1 y pásala al Client. Ejemplo (con access tokens existentes):
Example
Ejemplo (flujo completo de OAuth 1.0a):
Example
Nota:
  • Nunca guardes secrets en el código en producción; usa variables de entorno o gestores de secretos (por ejemplo, os.getenv("X_BEARER_TOKEN")).
  • Para PKCE, asegúrate de usar HTTPS en las URIs de redirección en producción.
  • El SDK valida los tokens y lanza xdk.AuthenticationError si fallan. Para ejemplos de código detallados usando el Python XDK, consulta nuestro repositorio de ejemplos de código en GitHub.