Función de Hojas de cálculo de Google para obtener una URL acortada (de Bit.ly o goo.gl, etc.)

Respuestas:

12

Este pequeño código hace posible crear URL acortadas, con el uso de Google Apps Script y la API de acortador de URL.

Prerrequisitos

En los recursos del editor de secuencias de comandos ( Herramientas> Editor de secuencias de comandos ), seleccione los Servicios avanzados de Google y active UrlShortener: ingrese la descripción de la imagen aquí
luego vaya a la Consola de desarrolladores de Google y seleccione la URL de la API: active ingrese la descripción de la imagen aquí
la API y pegue el código en el editor de secuencias de comandos. Presione el botón de error para autenticar el script

Código

function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu("Shorten")
    .addItem("Go !!","rangeShort")
    .addToUi()  
}

function rangeShort() {
  var range = SpreadsheetApp.getActiveRange(), data = range.getValues();
  var output = [];
  for(var i = 0, iLen = data.length; i < iLen; i++) {
    var url = UrlShortener.Url.insert({longUrl: data[i][0]});
    output.push([url.id]);
  }
  range.offset(0,1).setValues(output);
}

Explicado

La función onOpen () creará un elemento de menú para que seleccione, con el nombre Acortar . Cada vez que abra el archivo, se agregará este elemento de menú (si está en el editor de scripts, seleccione la función del menú desplegable y presione el botón de reproducción. Esto ejecutará esa función en particular y el elemento se agregará a El menú).

Una vez que se crea el menú, mostrará el elemento del menú ¡Ir! . Seleccione la celda o rango que desea acortar y el script creará las URL acortadas y las agregará a la hoja.

Captura de pantalla

antes de
ingrese la descripción de la imagen aquí

después
ingrese la descripción de la imagen aquí

Nota

El código supone que, una vez que haya seleccionado la celda o el rango que se acortará, el resultado se agregará a la derecha de la celda / rango seleccionado ( OFFSET(0,1)).
Si simplemente desea sobrescribir la URL existente, cambie el código a esto: ( OFFSET(0,0)).

Ejemplo

He creado un archivo de ejemplo para usted: Crear URL acortadas

Referencias

  1. acortador de URL
  2. desplazamiento (entero, entero)
  3. onOpen ()
Jacob Jan Tuinstra
fuente
Esto es genial. ¿Es posible que el script se ejecute automáticamente si se agrega una url a la hoja?
Craig.Pearce
@ Craig.Pearce ¿Te refieres a través de un formulario de Google?
Jacob Jan Tuinstra
No, estaba pensando más en la línea de un oyente de eventos para que si el usuario pone una URL en A2, este script se ejecuta automáticamente y coloca la versión abreviada en B2.
Craig.Pearce
Parece que esto ya no funciona porque Google retiró el servicio de acortador de URL.
Jim McKeeth
8

TinyURL tiene una API que escupe un archivo de texto con el enlace acortado. Si usa la función IMPORTAR DATOS, puede tomar el texto de esa página. También debe usar la función CONCATENAR para encadenar la URL.

La estructura de la API tinyurl es http://tinyurl.com/api-create.php?url=YOURLINKHERE

Importar datos de ese enlace, obviamente, no iría a un enlace válido, pero sería de entrada: http://tinyurl.com/oegcbsx.

CONCATENATE pondrá tu texto en ese lugar.

CONCATENAR de A1 y http://tinyurl.com/api-create.php?url=generaría la URL correcta que está buscando. ¡Los DATOS DE IMPORTACIÓN tomarán la nueva URL corta!

Aquí está la fórmula! Sustituya B2 por donde esté colocando su URL larga

=IMPORTDATA(CONCATENATE("http://tinyurl.com/api-create.php?url=" & B2))
Jared
fuente
Esta debería ser la respuesta seleccionada. Mucho más simple que Apps Script pero igualmente efectivo.
Gaurav Ramanan
1

Acerca del enlace Bitly http://dev.bitly.com/spreadsheets.html

Debe reemplazar la celda A1 con la url que desea usar.

También es bastante útil que también brinden una forma de obtener el recuento de clics.

Dave
fuente