En esta nueva entrada vamos a ver cómo crear una APP de Twitter para poder acceder a los Tweets a través del lenguaje de programación R. La APP para desarrolladores de Twitter permite múltiples funciones:
- Administración de anuncios
- Publicación y gestión de historias
- Análisis de datos de Twitter
- Integración de redes sociales
Algunas de estas funciones están limitadas según el tipo de usuario o la finalidad (API Premium o API Empresarial). Sin embargo, podemos acceder a una alta variedad de funciones de libre acceso (API estándar).
Procedimiento
Para poder acceder a las funciones libres, vamos a entrar en la página para desarrolladores a través del siguiente link: https://developer.twitter.com/en/apps
Podemos acceder a través de nuestra cuenta de Twitter y verificaremos el usuario a través de nuestro correo electrónico. Una vez en tenemos nuestro usuario, vamos a crear nuestra APP a través del botón

Para crear una APP debemos definir una serie de campos obligatorios:
- Nombre de la aplicación
- Descripción (descripción básica)
- URL del sitio (cualquiera disponible – no va a mostrar información)
- Uso de la aplicación (descripción básica)
Una vez creada, nos aparecerá nuestra APP en la pestaña de aplicaciones.

Si pulsamos sobre la pestaña ”Details”, accederemos a una serie de pestañas desde las que obtendremos información imprescindible para usar nuestra función en R:
- Detalles de la APP (App Name)
- Keys & Tokens (API keys y Acces tokens)
Una vez localizados los datos imprescindibles para realizar la conexión, vamos a ir a R.
Para obtener los tweets disponibles, vamos a utilizar el paquete “rtweets”. Rtweets permite a los usuarios extraer datos de la API REST de Twitter. Los tres objetivos principales son:
- Envío de solicitudes a la API REST
- Recuperación e iteración sobre los datos devueltos.
- Disposición de datos en estructuras ordenadas
Lo primero será instalar la librería:
install.packages("rtweet")
Después vamos a cargarla:
library(rtweet)
En este punto ya tenemos instalada y en funcionamiento la librería. Este es el momento de utilizar los datos de la API. Para ello seleccionaremos el Nombre de la API (APP_NAME) y varias Claves y Tokens necesarios (API KEY, API SECRET KEY, ACCES TOKEN y ACCES TOKEN SECRET).
Vamos a crear una serie de variables y les asignaremos el valor (en este caso cadena de texto) correspondiente:
APP_NAME <- "nombre_api"
API_KEY <- "xzxzxzxzxzxxzx"
API_SECRET_KEY <- "xzxzxzxzxzxxzx"
ACCES_TOKEN <- "xzxzxzxzxzxxzx"
ACCESS_TOKEN_SECRET <- "xzxzxzxzxzxxzx"
Una vez definidas, vamos a enviar una solicitud para generar un nuevo token de autenticación OAuth:
twitter_token <- create_token(app = APP_NAME,consumer_key = API_KEY, consumer_secret = API_SECRET_KEY, access_token = ACCES_TOKEN, access_secret = ACCESS_TOKEN_SECRET)
Esta instrucción genera un código de autenticación interno que nos permitirá enviar peticiones a la API REST de Twitter.
La API Estándar (gratuita) permite la obtención de Tweets de cualquier localización en los últimos 7 días. Sin embargo, solo podemos obtener 18.000 tweets cada 15 minutos (no está del todo mal).
En nuestro caso vamos a definir una petición en la que rescataremos 1000 tweets (si los hay) con el hashtag #RSTUDIO #RSTATS y #R en el área de Madrid, en concreto para un área circundante de 750 km.
Definimos varios hashtags de la siguiente forma:
HASHTAG <- "#RSTUDIO OR #RSTATS OR #R"
La localización se define a partir de la latitud, la longitud y el radio de búsqueda con l siguiente estructura:
GEOLOC <- "40.36329,-3.69141,750km" #Madrid
Definiremos el número máximo de tweets con:
N_TWEETS <- 1000
Ahora sí podemos crear nuestra petición de Tweets con la siguiente instrucción:
tweets<- search_tweets( q = HASHTAG, geocode = GEOLOC, n = N_TWEETS, max_id = T, parse = T, retryonratelimit = T, verbose = T)
Los parámetros “max_id” y “parse” son necesarios para estructurar de forma correcta los datos. El parámetro “retryonratelimit” y “verbose” se deberán utilizar siempre que el número de tweets sea mayor a 18.000. En ese caso, cada 15 minutos, la instrucción recuperará 18.000 nuevos tweets (siempre que existan en esa ubicación y con el hashtag indicado).
Resultado
El resultado de nuestra consulta ha sido de 574 tweets. Los datos han sido guardados en el objeto tweets de tipo data.frame y ya podemos manipular y analizar nuestros datos a través de R. Entre los campos disponibles, podemos encontrar el texto del tweet original, la fuente de subida (Twitter u otras plataformas), el área de localización (Topónimo) o la localización exacta de cada tweet a través de latitud y longitud (en caso de que estuviera activada la localización del dispositivo).

¿Quieres comentarnos algo? Adelante!