in ,

Plublicando Tweets con Google App Scripts

Plublicando Tweets con Google App Scripts

Aquí estamos de nuevo con vosotros para presentaros más tareas a automatizar. En este caso, comenzamos con la «serie» que os permitirá gestionar vuestro Twitter (en caso de usarlo), sin tener que estar pendientes de postear o más bien, twittear si usamos el argot propio de red social.

Ante todo comentar que para poder realizar este tutorial es recomendable tener conocimientos de inglés (o desenvolverse bien usando google translate, guiño, guiño), puesto que vamos a tener que rellenar cierta información en inglés para que Twitter nos de permiso para usar su plataforma para desarrolladores. Y como siempre decimos, sino estás familiarizado con Google Apps Scripts, nuestra introducción al manejo de google apps script te ayudará en la tarea de desarrollar lo contenido en esta entrada.

Somos conscientes de que hay montones de Apps y/o servicios que permiten hacer exactamente lo que vamos a hacer nosotros aquí con Google Apps Scripts. No obstante, la idea es inicialmente, no depender de apps de terceros que a veces, acaban desapareciendo o siendo absorbidas por otras compañías y en segundo lugar (y el más importante claramente) poder meter «entre medias» una Hoja de Calculo de Google que como ya estáis viendo en todos nuestros tutoriales de Google Apps Scripts con Hojas de Cálculo, nos dan una potencia enorme para hacer cosas e interconetar servicios.

Bueno, imagino que si habéis llegado hasta aquí es porque tenéis cuenta de Twitter. Por lo tanto, si cumplís con este requisito, el primer paso es habilitar el poder usar la plataforma de desarrolladores de twitter: https://developer.twitter.com Avisamos a futuros usuarios de este blog de que las capturas de pantalla que vayamos incluyendo no se tienen por qué corresponder al 100% con lo que vosotros veáis mientras realizáis este tutorial. Esto es así porque la plataforma la van actualizando, y el diseño puede ir variando.
Una vez que hayáis accedido a https://developer.twitter.com tenéis que clickar en la parte superior derecha donde pone apply.

Plublicando Tweets con Google App Scripts: Comenzado con la API

Una vez que os cargue la nueva página tenéis que hacer click en Apply for developer account.

Plublicando Tweets con Google App Scripts: Accediendo a la API

Tras esto, os pedirá que accedáis con vuestra cuenta de twitter.

Plublicando Tweets con Google App Scripts: Identificar la cuenta de Twitter

Una vez que hayáis accedido, como estáis logueados, tenéis que visitar este enlace https://apps.twitter.com y clickar en Create New App:

Plublicando Tweets con Google App Scripts: Generando la App

Una vez que hagáis esto, os pedirá que rellenéis bastante información (demasiadas explicaciones pide twitter para poder usar este servicio, aunque como podemos poner lo que queramos…). Lo que nos pide es lo siguiente.

  • App name (required): el nombre que queremos poner a nuestra aplicación.
  • Application description (required): se trata de una descripción de la aplicación que vais a crear en inglés. Recomiendo poner algo del estilo: es una aplicación para compartir contenidos de mi pagina web xxx.xxxx.com, todo esto en inglés, claro.
  • Website URL (required): La url de vuestra web, si no tenéis una web, podéis poner más o menos lo que queráis, siempre que parezca una url.
  • Enable Sign in with Twitter: Habilitad esta casilla.
  • Callback URLs (required): Al habilitar la casilla anterior, se os marcará esto como requerido. Por el momento poned “https://script.google.com” y más adelante ya os indicaremos por qué lo tendréis que modificar.
  • Tell us how this app will be used (required): Aquí tendréis que explicar lo que hace vuestra aplicación. Podéis poner lo que queráis, pero recomiendo que pongais algo que vaya en la línea de que queréis poder compartir automáticamente las nuevas publicaciones y contenidos de vuestra página web (Escribiendo todo esto en inglés, claro :P).

Una vez relleno todo correctamente, aceptamos y ya tendréis vuestra app de twitter creada.
Tras esto, tenemos que coger la información importante que encontraréis haciendo click en keys and tokens y allí tendréis que copiar las dos claves que os salen donde pone consumer api keys.

Una vez tengáis esto recopilado, os tenéis que dirigir a google apps script. Como siempre, creáis vuestra hoja de cálculo y vais al panel de scripting. 

Si habéis llegado hasta aquí, ya estáis listos para que os presentemos el snippet de hoy:

var spreadsheeturl = '##URL DE LA HOJA DE CALCULO##'; var sheetname = '##NOMBRE DE LA HOJA DONDE TENEMOS ANOTADOS LOS TELÉFONOS Y LOS MENSAJES A ENVIAR##'; var columnatweet = '##LETRA DE LA COLUMNA EN LA QUE SE ENCUENTRAN LOS TWEETS##'; var consumerkey = '##INTRODUCE AQUI LA CLAVE DE CONSUMO DE LA API DE TWITTER##'; var consumersecret = '##INTRODUCE AQUI EL SECRETO DE CONSUMO DE LA API DE TWITTER##';  var columnas = {'A': 0,                 'B': 1,                 'C': 2,                 'D': 3,                 'E': 4,                 'F': 5,                 'G': 6,                 'H': 7,                 'I': 8,                 'J': 9,                 'K': 10,                 'L': 11,                 'M': 12,                 'N': 13,                 'O': 14,                 'P': 15,                 'Q': 16,                 'R': 17,                 'S': 18,                 'T': 19,                 'U': 20,                 'V': 21,                 'W': 22,                 'X': 23,                 'Y': 24,                 'Z': 25,                 'a': 0,                 'b': 1,                 'c': 2,                 'd': 3,                 'e': 4,                 'f': 5,                 'g': 6,                 'h': 7,                 'i': 8,                 'j': 9,                 'k': 10,                 'l': 11,                 'm': 12,                 'n': 13,                 'o': 14,                 'p': 15,                 'q': 16,                 'r': 17,                 's': 18,                 't': 19,                 'u': 20,                 'v': 21,                 'w': 22,                 'x': 23,                 'y': 24,                 'z': 25                };   var ss = SpreadsheetApp.openByUrl(spreadsheeturl); var sh = ss.getSheetByName(sheetname);  var columnatweetnumber = columnas[columnatweet];    function getTwitterService() {   return OAuth1.createService('twitter')       .setAccessTokenUrl('https://api.twitter.com/oauth/access_token')       .setRequestTokenUrl('https://api.twitter.com/oauth/request_token')       .setAuthorizationUrl('https://api.twitter.com/oauth/authorize')       .setConsumerKey(consumerkey)       .setConsumerSecret(consumersecret)       .setCallbackFunction('authCallback')       .setPropertyStore(PropertiesService.getUserProperties()); }  function logCallbackUrl() {   var service = getTwitterService();   Logger.log(service.getCallbackUrl()); }  function authCallback(request) {   var twitterService = getTwitterService();   var isAuthorized = twitterService.handleCallback(request);   if (isAuthorized) {     return Logger.log('¡Autorizado!');   } else {     return Logger.log('¡No!');   } }  function tweet() {   var shdatarange = sh.getRange(1, Number(columnatweetnumber) + 1);   var shdata = shdatarange.getValue();   sh.deleteRow(1);      var twitterService = getTwitterService();      //estas dos líneas se descomentan para que nos de la url para autorizar el servicio y luego se comentan   var authorizationUrl = twitterService.authorize();   Logger.log(authorizationUrl);      var response = twitterService.fetch('https://api.twitter.com/1.1/statuses/user_timeline.json');   Logger.log(response);         var status = shdata;   var options = {     "method": "post",     "oAuthServiceName": "twitter",     "oAuthUseToken": "always",     "payload":{"status":status}   };   var url = "https://api.twitter.com/1.1/statuses/update.json";      var response = twitterService.fetch(url, options); }

En primer lugar, os vamos a describir la anatomía del snippet. Este snippet está formado por cuatro funciones que son:

  • getTwitterService.
  • logCallbackUrl: esta función nos proporcionará la callback url que nos pedía twitter que rellenáramos al crear la app.
  • authCallback.
  • tweet: esta función es la que llamaremos para publicar nuestras idas de olla, digo, nuestros tweets.

Aunque solo tendremos que usar las dos que están explicadas. Como hacemos siempre, para aquellos que no seáis seguidores habituales de esta plataforma y/o no estéis acostumbrados a trabajar con Google Apps Script, os recomendamos echarle un vistazo a nuestra introducción al manejo de google apps script puesto que ahí encontraréis como trabajar con esta herramienta y explicaciones más detalladas de lo que vamos a hacer a continuación.

Ahora, con respecto a los parámetros a sustituir en el snippet, son los siguientes:

  • spreadsheeturl: como es habitual, la url de la hoja de cálculo sobre la que trabajamos.
  • sheetname: el nombre de la hoja dentro de la hoja de cálculo sobre la que trabajamos.
  • columnatweet: la letra de la columna en la que tendremos colocados los tweets que queremos que se vayan publicando.
  • consumerkey: ¿os acordáis cuando antes os comenté que había una pestaña dentro de la web donde encontráis los detalles de vuestra aplicación de twitter que era importante? Este parámetro es la primera clave dentro de la pestaña keys and tokens.
  • consumersecret: este parámetro es la segunda clave de la pestaña keys and tokens.
Plublicando Tweets con Google App Scripts: Tokens

Una vez rellenados los datos, vamos a tener que añadir una biblioteca al proyecto de app script. En este caso, la biblioteca de oAuth1.

Plublicando Tweets con Google App Scripts: Añadir biblioteca oAuth1

Para ello, hacemos click en Recursos -> Bibliotecas y añadimos la biblioteca con el siguiente Identificador:

1CXDCY5sqT9ph64fFwSzVtXnbjpSfWdRymafDrtIZ7Z_hwysTY7IIhi7s

Lo mejor es elegir la última versión y pulsamos guardar.

Plublicando Tweets con Google App Scripts: Añadir biblioteca oAuth1

Una vez está la biblioteca añadida, ejecutáis la función logCallbackUrl, copiais la url que os dejará en el registro y os vais a incluirla en los datos de vuestra aplicación de twitter, sustituyendo la de “https://script.google.com” que anteriormente os dijimos que incluyerais puesto que era obligatorio poner alguna. La URL la tenéis que tomar sin parámetros. Los parámetros comienzan justo después de la palabra usercallback. Así que la url tendrá el siguiente formato:

https://script.google.com/macros/d/****************-****************/usercallback

No copiéis nada de lo que hay después de usercallback o no funcionará.

Plublicando Tweets con Google App Scripts: Sustituimos el CallBack

Una vez hecho esto, ya podéis ejecutar la función tweet() para publicar vuestros tweets, pero oh, sorpresa, cuando lo hagáis, os devolverá un error. Para solucionarlo basta con que abráis el registro y os habrá dejado un enlace que deberéis abrir y confirmar en el navegador para que os de permiso. Una vez hayáis proporcionado el permiso, comentad estas dos líneas en la función tweet() poniéndoles delante dos barras tal que asi //.

//var authorizationUrl = twitterService.authorize();  //Logger.log(authorizationUrl);

Guardáis, y voilá, ¡ahora si que si, cuando ejecutéis la función tweet() estaréis publicando vuestras mierdas!

Recordad que si os sale un error, es porque no tenéis ningún tweet puesto en la hoja de cálculo. Con lo que no hay nada que twitear.

A partir de ahora podréis programar vuestros tweets para que se vayan publicando paulatinamente sin tener que estar pendientes de postear a cada rato.

¡Esto es todo por hoy amigos!

¿Qué opinas?

Escrito por Antonio David Cruz

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Enviar Whatsapp Automáticamente al Completar un Pedido en Woocommerce

Enviar Whatsapp Automáticamente al Completar un Pedido en Woocommerce

Envío de emails automáticos con Google Apps Scripts

Envío Automático de Emails con Google Apps Script