Como llamar a una API con Google Apps Script


En muchas ocasiones nos puede hacer falta conectarnos a una API con Google Apps Script para obtener datos o para informar de algo que pase en nuestros spreadsheets a un servicio de terceros.

La forma de hacerlo es mediante una llamada a UrlFetchApp. Esto que os explicaré no es fácil pero su potencia es inacabable. Podréis conectaros a Jira, Trello, o cualquier servicio que se os ocurra abriendo todo un mundo para vuestras aplicaciones hechas con Google Apps Script.

Aquí os dejo un ejemplo:

function GetAPIData(parametro)
{
    var api = "aqui_va_el_endpoint_de_la_api";  // API URL
 
    //Esto son solo ejemplos. Cada API tendra sus variables de header que tendreis que verlo en su documentación
    var headers = {
      "user_key" : "api_key",
      "Content-Type" : "application/json",
    };

   //Esto son solo ejemplos. Cada API define su payload en la documentación
    var payload =
    { 
       'value_to_search': value,
       'date' : 'today'
    }
 
    var options =
    {
      'headers': headers,
      'method' : "POST",
      'payload' : JSON.stringify(payload)
    };

    var response = UrlFetchApp.fetch(api, options);

    //Generalmente las APIs devuelven JSON aunque podrían devolver otras cosas
    var json = JSON.parse(response.getContentText());
    return json;
}

El tema tiene su miga y su complejidad. No dudéis en hacerme llegar vuestros problemas.

Espero que os sirva

Nos vemos

4 comentarios:

  1. hola necesito ayuda quiero extraer datos de la API de CMC y se me esta complicando, lo logro hacer con javascript pero no con google app scripts

    ResponderEliminar
    Respuestas
    1. A veces las APIs son puñeteras. Pasame el código de lo que tienes hecho y te digo donde puede ser que tengas el fallo
      Nos vemos!

      Eliminar
  2. hola tengo un sistema hecho q es un carrito de compras, y deseo integrarle el cobro por mercado pago, pero nose como hacerlo , me podrias ayudar?

    ResponderEliminar
    Respuestas
    1. Es bastante jodido. No tengo el tiempo para echarte un cable ahora mismo.
      Tienes que mirar la plataforma que uses para gestionar el pago que API te proporciona.
      Generalmente, vas a tener un función para informar del pago y una callback que te informará que el pago se ha realizado correctamente.
      Los detalles dependerán de la API que uses.
      No obstante, lo dicho, es bastante puñetero.
      Suerte!

      Eliminar

Tal vez te interese