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:
- OAuth1 untuk Apps Script: Kompatibel dengan OAuth 1.0 dan 1.0a.
- OAuth2 untuk Apps Script: Kompatibel dengan OAuth2.
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.