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 ke cari 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 mendukung protokol, tetapi ada pustaka {i> open source<i} yang dapat Anda gunakan untuk menjalankan alur OAuth dan mengirimkan kredensial bersama permintaan Anda:
- OAuth1 untuk Apps Script: Kompatibel dengan OAuth 1.0 dan 1.0a.
- OAuth2 untuk Apps Script: Kompatibel dengan OAuth2.
Menggunakan JSON
Menangani objek JSON mirip dengan menangani XML, kecuali bahwa penguraian atau mengenkode objek JSON menjadi jauh lebih mudah.
Jika API yang diminta menampilkan respons JSON mentah untuk suatu permintaan, maka JSON
respons string dapat diakses menggunakan metode
HTTPResponse.getContentText()
Setelah string ini diambil, cukup panggil JSON.parse()
pada string tersebut 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 juga, untuk membuat representasi
string dari objek JavaScript untuk
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 bisa 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.