Google Apps Script dapat berinteraksi dengan API dari seluruh web. Gunakan panduan ini untuk menggunakan berbagai jenis API dalam skrip Anda.
Terhubung ke API publik
Gunakan 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 mengirimkan kredensial dengan permintaan Anda:
- OAuth1 untuk Apps Script: Kompatibel dengan OAuth 1.0 dan 1.0a.
- OAuth2 untuk Apps Script: Kompatibel dengan OAuth2.
Mengautentikasi dengan akun layanan
Untuk memanggil API dari Apps Script, Anda dapat memilih untuk menggunakan autentikasi akun layanan karena salah satu alasan berikut:
- Performa yang lebih baik dengan Google Cloud API
- Otomatisasi dan tugas yang berjalan lama
- Keamanan yang lebih baik (hak istimewa paling rendah)
- Manajemen akses terpusat
Untuk menggunakan akun layanan di Apps Script, lihat Melakukan autentikasi sebagai project Apps Script menggunakan akun layanan.
Terhubung ke layanan Google Cloud
Anda dapat menggunakan metode ScriptApp.getIdentityToken()
untuk mendapatkan token identitas
OpenID Connect (Token Web JSON
atau JWT) untuk pengguna yang efektif. Anda dapat menggunakan token ini untuk mengautentikasi
layanan Google Cloud, seperti Cloud Run, yang dikonfigurasi untuk
menerimanya.
Untuk mengetahui informasi selengkapnya, lihat Menghubungkan ke layanan Google Cloud.
Bekerja dengan JSON
Bekerja dengan objek JSON mirip dengan bekerja dengan XML, kecuali bahwa penguraian atau encoding objek JSON jauh lebih mudah.
Saat API menampilkan respons JSON mentah, akses respons string JSON menggunakan
metode
HTTPResponse.getContentText.
Setelah mengambil string, gunakan JSON.parse() untuk menguraikannya menjadi objek
JavaScript.
// 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 mengonversi objek JavaScript menjadi string JSON untuk payload 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, akses 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, gunakan metode
XmlService untuk membuat XML yang akan dikirim.
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.