Translate

Mostrando las entradas con la etiqueta Apps Script. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Apps Script. Mostrar todas las entradas

martes, 24 de marzo de 2026

Consumir una API en Google Sheets


Con Google Sheets y Google Apps Script podés crear funciones personalizadas que consuman APIs externas.

En este ejemplo vamos a obtener el valor del dólar oficial desde: https://dolarapi.com/v1/dolares/oficial

Crear la función:

1. Ir a Extensiones → Apps Script

2. Crear la siguiente función:


function DOLAR_OFICIAL() {

  var url = "https://dolarapi.com/v1/dolares/oficial";

  

  var response = UrlFetchApp.fetch(url);

  var data = JSON.parse(response.getContentText());

  

  return data.venta;

}


Cómo usarla en la hoja:


En cualquier celda:

=DOLAR_OFICIAL()


¿Qué está pasando?

UrlFetchApp.fetch(url) → hace la llamada HTTP

JSON.parse(...) → convierte la respuesta a objeto

data.venta → accede al valor de venta del dólar


Podemos devolver más datos (compra y venta):


function DOLAR_OFICIAL_COMPLETO() {

  var url = "https://dolarapi.com/v1/dolares/oficial";

  

  var response = UrlFetchApp.fetch(url);

  var data = JSON.parse(response.getContentText());

  

  return [

    ["Compra", "Venta"],

    [data.compra, data.venta]

  ];

}


Uso:

=DOLAR_OFICIAL_COMPLETO()


Esto va a llenar dos columnas automáticamente.


Funciones personalizadas en Google Sheets con Apps Script



Google Sheets permite crear funciones personalizadas usando Google Apps Script, que luego podés usar como si fueran fórmulas nativas (tipo `SUM` o `VLOOKUP`).


Una función personalizada es una función en JavaScript que:

  • Recibe parámetros desde una celda
  • Procesa datos
  • Devuelve un resultado que se muestra en la hoja


Cómo crear una función:

1. Abrí tu hoja en Google Sheets

2. Ir a Extensiones → Apps Script

3. Escribí tu función

4. Guardá el proyecto


Veamos un ejemplo: 

Creamos una función que reciba un nombre y devuelva `"Hola " + nombre`:


function SALUDAR(nombre) {

  return "Hola " + nombre;

}


Cómo usarla?


En cualquier celda escribís:


=SALUDAR("Emanuel")


Resultado:

Hola Emanuel


También podés usar una celda como parámetro:

=SALUDAR(A1)


Nota que: 

  • El nombre de la función suele escribirse en mayúsculas (convención)
  • Debe devolver un valor (string, número, array, etc.)
  • No puede modificar otras celdas directamente (solo retornar valores)
  • Se recalcula cuando cambian los datos


Veamos otro ejemplo: 

Una función que saluda a múltiples nombres:


function SALUDAR_VARIOS(nombres) {

  return nombres.map(n => "Hola " + n);

}



Uso:

=SALUDAR_VARIOS(A1:A3)



Resultado:

Hola Juan

Hola Ana

Hola Pedro


Ideas para usar funciones personalizadas

  • Validaciones complejas
  • Transformación de datos
  • Integración con APIs (clima, cotizaciones, etc.)
  • Automatización de reportes

domingo, 22 de marzo de 2026

Apps Script en Google Docs


Este post es nada que ver con este blog, pero Apps Script me ha salvado tanto que sería malísimo no compartirlo. 

Google Docs no solo sirve para escribir documentos: también permite automatizar tareas mediante scripts usando Google Apps Script.

Esto te permite agregar lógica personalizada, generar contenido dinámico o incluso integrar servicios externos.

Apps Script es una plataforma basada en JavaScript que corre en la nube y permite extender herramientas como:

  • Google Docs
  • Google Sheets
  • Google Drive
  • Gmail


En el caso de Google Docs, podemos crear funciones que modifiquen el documento o generen contenido automáticamente.


1. Abrí un documento en Google Docs

2. Ir a Extensiones → Apps Script

3. Se abrirá el editor de scripts

4. Escribí tu función y guardá


Vamos a crear una función que reciba un nombre y retorne "Hola " + nombre.


function saludar(nombre) {

  return "Hola " + nombre;

}


A diferencia de Google Sheets, en Docs no podés invocar funciones directamente en el texto como fórmulas. Pero podés:

  • Ejecutarla desde el editor
  • O usarla para insertar contenido en el documento


Por ejemplo, una versión que escribe directamente en el documento:


function insertarSaludo() {

  var doc = DocumentApp.getActiveDocument();

  var body = doc.getBody();

  

  var nombre = "Emanuel";

  var saludo = "Hola " + nombre;

  

  body.appendParagraph(saludo);

}


Podés combinar esto con menús personalizados para ejecutar funciones desde la UI del documento.


function onOpen() {

  DocumentApp.getUi()

    .createMenu('Mis Scripts')

    .addItem('Insertar saludo', 'insertarSaludo')

    .addToUi();

}


Es ideal para: 

  • Generar reportes automáticamente
  • Insertar firmas o textos repetitivos
  • Crear plantillas dinámicas
  • Integrar con APIs externas