Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Este instructivo detalla el proceso completo para registrarse como desarrollador de X (anteriormente Twitter), crear una aplicación y generar las credenciales necesarias (Bearer Token y Access Token) para realizar análisis de datos y acceder tanto a tweets históricos como a streams en tiempo real usando Python.

1Como obtener un “Bearer Token” y “Access Token” de X (Twitter) para análisis de datos

El primer paso es crear una cuenta de desarrollador en la plataforma X.

  1. Ir al Portal de Desarrolladores

  2. Iniciar Sesión

    • Hacer clic en el botón “Sign up” en la esquina superior derecha e iniciar sesión con una cuenta personal de X (Twitter).

  3. Solicitar Acceso como Desarrollador

    • Hacer clic en “Apply for a developer account”.

    • Completar el formulario de solicitud:

      • Propósito de uso: Seleccionar entre Académico/Investigación, Comercial, Personal, o Estudiante.

      • Descripción detallada: Explicar específicamente cómo planeas usar la API (ej: “Análisis académico de tendencias en redes sociales para curso de Estructuras de Datos”).

      • Casos de uso específicos: Indicar si vas a analizar tweets, hacer streaming, publicar contenido, etc.

  4. Verificar la Solicitud

    • Revisar toda la información y enviar la solicitud.

    • Aceptar las Condiciones de Servicio para Desarrolladores y la Política de Uso de la API.

    • La aprobación puede tomar desde minutos hasta 1-2 días hábiles.

2Crear una nueva aplicación (App)

Una vez aprobada tu cuenta de desarrollador, puedes crear aplicaciones para acceder a la API.

  1. Acceder al Panel de Desarrollador

    • Desde el Developer Portal, hacer clic en “Projects & Apps” en el menú lateral.

  2. Crear un Nuevo Proyecto

    • Hacer clic en el botón “+ Create Project”.

    • Asignar un nombre descriptivo al proyecto (ej: “Analizador de Redes Sociales Académico”).

    • Seleccionar el caso de uso más apropiado:

      • “Exploring the API”: Para aprendizaje y experimentación.

      • “Making a bot”: Para crear bots automatizados.

      • “Doing academic research”: Para investigación académica.

      • “Building internal tools”: Para herramientas empresariales.

  3. Crear una Aplicación dentro del Proyecto

    • Después de crear el proyecto, X te pedirá crear una aplicación.

    • Asignar un nombre único a la aplicación (ej: “TwitterDataAnalyzer2024”).

    • Proporcionar una descripción clara del propósito de la aplicación.

3Obtener las credenciales de autenticación

Este es el paso más importante: generar las “llaves” para acceder a los datos de X.

  1. Configurar Niveles de Acceso

    • En el panel de tu aplicación, ir a la pestaña “Settings”.

    • En “App permissions”, configurar los permisos necesarios:

      • Read: Para leer tweets, perfiles, y datos públicos.

      • Write: Para publicar tweets (opcional para análisis de datos).

      • Direct Messages: Para acceder a mensajes directos (raramente necesario).

  2. Generar el Bearer Token (API v2)

    • Ir a la pestaña “Keys and Tokens”.

    • En la sección “Bearer Token”, hacer clic en “Generate”.

    • Copiar y guardar inmediatamente el Bearer Token en un lugar seguro.

  3. Generar Consumer Keys (API v1.1)

    • En la sección “Consumer Keys”, hacer clic en “Generate”.

    • Se generarán automáticamente:

      • API Key (Consumer Key)

      • API Secret Key (Consumer Secret)

    • Copiar y guardar ambas credenciales de forma segura.

  4. Generar Access Token y Access Token Secret

    • En la sección “Access Token and Secret”, hacer clic en “Generate”.

    • Se generarán:

      • Access Token

      • Access Token Secret

    • Copiar y guardar ambas credenciales.

4Configurar permisos para streaming y búsqueda

Para acceder a diferentes funcionalidades de la API, necesitas configurar permisos específicos.

  1. Configurar Permisos de la Aplicación

    • En “App permissions”, seleccionar el nivel apropiado:

      • Read: Suficiente para leer tweets históricos y hacer streaming.

      • Read and Write: Si planeas publicar tweets desde tu aplicación.

    • Guardar los cambios.

  2. Verificar Nivel de Acceso a la API

    • X ofrece diferentes niveles de acceso:

      • Free: 500,000 tweets por mes, acceso básico a API v2.

      • Basic ($100/mes): 10 millones de tweets por mes, acceso completo a API v2.

      • Pro ($5,000/mes): 50 millones de tweets por mes, acceso a datos históricos completos.

      • Enterprise: Acceso personalizado y soporte premium.

  3. Configurar Webhook URLs (Opcional)

    • Si planeas usar webhooks para recibir datos en tiempo real:

      • Ir a “Settings” > “Webhook URLs”.

      • Agregar la URL de tu servidor que recibirá los datos.

5Probar las credenciales

Una vez obtenidas las credenciales, es importante verificar que funcionan correctamente.

  1. Verificar Bearer Token

    • Usar el Postman o curl para hacer una petición de prueba:

    curl -H "Authorization: Bearer YOUR_BEARER_TOKEN" \
         "https://api.twitter.com/2/tweets/search/recent?query=python"
  2. Verificar Access Tokens

    • Para OAuth 1.0a, las credenciales se usan en conjunto para firmar las peticiones.

    • La librería tweepy de Python maneja automáticamente la autenticación.

6Niveles de acceso y limitaciones

Es importante entender las limitaciones de cada nivel de acceso:

6.1Free tier (Gratuito)

6.2Basic tier ($100/mes)

6.3Pro tier ($5,000/mes)

7Documentación y recursos útiles

7.1Documentación oficial

7.2Librerías de Python recomendadas

7.3Ejemplos de endpoints Útiles

8Consideraciones de seguridad

8.1Protección de credenciales

  1. Nunca hardcodear las credenciales en el código fuente.

  2. Usar variables de entorno o archivos de configuración privados.

  3. Agregar archivos de credenciales al .gitignore.

  4. Regenerar tokens periódicamente por seguridad.

8.2Ejemplo de configuración segura

import os
from dotenv import load_dotenv

# Cargar variables de entorno
load_dotenv()

# Obtener credenciales de forma segura
BEARER_TOKEN = os.getenv("TWITTER_BEARER_TOKEN")
API_KEY = os.getenv("TWITTER_API_KEY")
API_SECRET = os.getenv("TWITTER_API_SECRET")
ACCESS_TOKEN = os.getenv("TWITTER_ACCESS_TOKEN")
ACCESS_TOKEN_SECRET = os.getenv("TWITTER_ACCESS_TOKEN_SECRET")