Build a REST JSON API With Google Apps Script

This example shows how to build a simple JSON REST API with Google Apps Script. You can make a jQuery AJAX request to the Google Script and the server returns a JSON response. The server side code can interact with Gmail, Google Sheets, and all other Google Services.

The Google Script must be published as a public web app with anonymous access.

function doGet(e) {
  var result = {};
  try {
    if (e.parameter.origin === "digitalinspiration.com") {
      result = {
        "Email Aliases": GmailApp.getAliases().join(),
        "Drive Storage": DriveApp.getStorageUsed(),
        "Script Owner": Session.getActiveUser().getEmail()        
      };
    }
  } catch (f) {
    result.error = f.toString();
  }
  return ContentService     
  .createTextOutput(e.parameters.callback + '(' + JSON.stringify(result) + ')')
  .setMimeType(ContentService.MimeType.JAVASCRIPT);
}

The client slide JavaScript includes the jQuery library for making an HTTP GET request to the Google script. The webappUrl is the URL of the published Google Script web app and it begins with script.google.com


$.ajax({
  url: webappUrl,
  type : "GET", 
  data : {
    origin : 'digitalinspiration.com',
    input : JSON.stringify({
      color: "orange",
      country: "india"
    }) 
  },
  dataType: 'jsonp',
  success : function (data, status, xhr) {
    console.log("success");
    console.log(data);
  },
  complete : function (xhr, status) {
    console.log("complete");
  }
});