Publicar un Tweet usando la API V2 de Twitter y Python

Tiempo de lectura: 3 minutos

Hola, hoy vamos a aprender cómo podemos publicar un Tweet de forma automática o crear un bot para Twitter usando Python.

Lo primero que vamos a hacer es registrar nuestra aplicación en el portal de desarrollador de Twitter:

  1. Crear una aplicación en Twitter:
    • Ve a Twitter Developer y crea una aplicación. Esto te proporcionará las credenciales necesarias para acceder a la API de Twitter.

Accedemos y creamos un proyecto:

Una vez creado el proyecto, creamos una app:

Pulsamos en overview:

Y creamos app:

Añadimos el nombre de la APP

Y copiamos bien nuestras claves:

Pulsamos también en generar Access Token:

Para que podamos acceder a la APP de forma externa, tenemos que configurar los permisos, para ello vamos a User authentication settings:

Pulsamos en Set up y configuramos los permisos, en este caso leer y escribir:

También podemos elegir el tipo de APP:

Y podemos añadir las URLS que solicita por si necesitamos configurar un Webhook:

Instalamos esta librería con Python:

pip install requests_oauthlib

También tenemos que instalar esta, para leer el .env:

pip install python-dotenv

Ahora vamos a un editor de texto y creamos este archivo:

import os
from dotenv import load_dotenv
import json
import oauthlib.oauth1
from requests_oauthlib import OAuth1Session


# Cargar las variables de entorno desde un archivo .env
load_dotenv()

CONSUMER_KEY = os.getenv("TWITTER_API_KEY")
CONSUMER_SECRET = os.getenv("TWITTER_API_SECRET_KEY")
ACCESS_TOKEN = os.getenv("TWITTER_ACESS_TOKEN")
ACCESS_TOKEN_SECRET = os.getenv("TWITTER_ACESS_TOKEN_SECRET")
TWITTER_BEARER_TOKEN = os.getenv("TWITTER_BEARER_TOKEN")
TWITTER_CLIENT_ID = os.getenv("TWITTER_CLIENT_ID")
TWITTER_CLIENT_SECRET = os.getenv("TWITTER_CLIENT_SECRET")

# Crear una instancia de OAuth1Session con tus claves y tokens
twitter_auth = OAuth1Session(CONSUMER_KEY, client_secret=CONSUMER_SECRET,
                             resource_owner_key=ACCESS_TOKEN,
                             resource_owner_secret=ACCESS_TOKEN_SECRET)

url = "https://api.twitter.com/2/tweets"

payload = json.dumps({
    "text": "Hello World!"
})

# Realizar la solicitud a Twitter utilizando la instancia de OAuth1Session
response = twitter_auth.post(url, data=payload, headers={'Content-Type': 'application/json'})

# Imprimir la respuesta
print(response.text)

Y añadimos este código y tenemos que crear un .env con las variables que contienen los codigos de la app creada.

TWITTER_API_KEY = fasdfads
TWITTER_API_SECRET_KEY = 
TWITTER_ACESS_TOKEN =
TWITTER_ACESS_TOKEN_SECRET = 
TWITTER_BEARER_TOKEN = 
TWITTER_CLIENT_ID = 
TWITTER_CLIENT_SECRET =

Deja un comentario