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:
- 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 =
Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.