API Eksternal

Google Apps Script dapat berinteraksi dengan API dari seluruh web. Panduan ini menunjukkan cara menggunakan berbagai jenis API dalam skrip Anda.

Menghubungkan ke API publik

Anda dapat menggunakan layanan UrlFetch untuk membuat permintaan API secara langsung.

Contoh berikut menggunakan GitHub API untuk menelusuri repositori dengan 100 bintang atau lebih yang menyebutkan "Apps Script". Permintaan API ini tidak memerlukan otorisasi atau kunci 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);

Membuat permintaan ke layanan dengan OAuth

API yang bertindak atas nama pengguna biasanya memerlukan otorisasi, sering kali menggunakan protokol OAuth. Apps Script tidak menyediakan dukungan bawaan untuk protokol ini, tetapi ada library open source yang dapat Anda gunakan untuk melakukan alur OAuth dan mengirim kredensial dengan permintaan Anda:

Bekerja dengan JSON

Bekerja dengan objek JSON mirip dengan bekerja dengan XML, kecuali bahwa mengurai atau mengenkode objek JSON jauh lebih mudah.

Jika API yang diminta menampilkan respons JSON mentah untuk permintaan, respons string JSON dapat diakses menggunakan metode HTTPResponse.getContentText(). Setelah string ini diambil, cukup panggil JSON.parse() pada string untuk mendapatkan representasi objek native.

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

Demikian pula, untuk membuat representasi string objek JavaScript guna membuat permintaan, gunakan 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.

Mengurai XML

Jika API eksternal menampilkan respons XML mentah untuk permintaan, Anda dapat mengakses respons XML menggunakan metode HTTPResponse.getContentText().

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

Saat membuat permintaan XML ke API, buat XML yang akan dikirim menggunakan metode 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.