API externas

Google Apps Script puede interactuar con APIs de toda la Web. Esta guía se muestra cómo trabajar con diferentes tipos de APIs en tus secuencias de comandos.

Conéctate a APIs públicas

Puedes usar el servicio UrlFetch para hacer directamente a las APIs.

En el siguiente ejemplo, se usa la API de GitHub para buscar repositorios con 100 o más estrellas que mencionen "Apps Script". Esta solicitud a la API no requiere autorización ni una clave de API.

var query = '"Apps Script" stars:">=100"';
var url = 'https://api.github.com/search/repositories'
  + '?sort=stars'
  + '&q=' + encodeURIComponent(query);

var response = UrlFetchApp.fetch(url, {'muteHttpExceptions': true});
Logger.log(response);

Realiza solicitudes a servicios con OAuth

Las APIs que actúan en nombre de un usuario generalmente requieren autorización, a menudo usando el Protocolo OAuth. Apps Script no proporciona compatibilidad con el protocolo, pero existen bibliotecas de código abierto que puedes usar para realiza el flujo de OAuth y envía las credenciales con tus solicitudes:

Trabaja con JSON

Trabajar con objetos JSON es similar a trabajar con XML, excepto que analizar o codificar un objeto JSON es mucho más fácil.

Si la API que se solicita muestra una respuesta JSON sin procesar para una solicitud, el archivo JSON se puede acceder a la respuesta de cadena HTTPResponse.getContentText() Una vez que se recupere esta cadena, simplemente llama a JSON.parse() en la cadena para obtener un de objetos nativos.

// Make request to API and get response before this point.
var json = response.getContentText();
var data = JSON.parse(json);
Logger.log(data.title);

Del mismo modo, para hacer una representación de cadena de un objeto JavaScript para para hacer una solicitud, usa JSON.stringify().

var data = {
  'entry': {
    'group': {
      'title': 'Dog Skateboarding',
      'description': 'My dog gets some serious air'
    },
    'keywords': 'dog, skateboard'
  }
}
var payload = JSON.stringify(data);
// Make request to API with payload after this point.

Analizar XML

Si una API externa devuelve una respuesta XML sin procesar para una solicitud, puedes acceder al Respuesta XML con el método HTTPResponse.getContentText()

// Make request to API and get response before this point.
var xml = response.getContentText();
var doc = XmlService.parse(xml);

Cuando realices solicitudes XML a una API, crea el XML que enviarás con los métodos XmlService

var root = XmlService.createElement('entry')
    .setAttribute('keywords', 'dog, skateboard');
var group = XmlService.createElement('group')
    .setAttribute('title', 'Dog Skateboarding');
    .setAttribute('description', 'My dog gets some serious air');
root.addContent(group);
var document = XmlService.createDocument(root);
var payload = XmlService.getPrettyFormat().format(document);
// Make request to API with payload after this point.