Mengambil resource dan berkomunikasi dengan host lain melalui Internet.
Layanan ini memungkinkan skrip berkomunikasi dengan aplikasi lain atau mengakses resource lain di web dengan mengambil URL. Skrip dapat menggunakan layanan URL Fetch untuk mengeluarkan permintaan HTTP dan HTTPS serta menerima respons. Layanan URL Fetch menggunakan infrastruktur jaringan Google untuk tujuan efisiensi dan penskalaan.
Permintaan yang dibuat menggunakan layanan ini berasal dari kumpulan rentang IP yang ditetapkan. Anda dapat mencari daftar lengkap alamat IP jika perlu memasukkan permintaan ini ke daftar yang diizinkan atau menyetujuinya.
Layanan ini memerlukan cakupan https://www.googleapis.com/auth/script.external_request. Dalam sebagian besar kasus, Apps Script otomatis mendeteksi dan menyertakan cakupan yang dibutuhkan skrip,
tetapi jika Anda menetapkan cakupan secara
eksplisit, Anda harus menambahkan cakupan ini secara manual untuk menggunakan UrlFetchApp.
Lihat juga
Metode
| Metode | Jenis nilai yang ditampilkan | Deskripsi singkat |
|---|---|---|
fetch(url) | HTTPResponse | Membuat permintaan untuk mengambil URL. |
fetch(url, params) | HTTPResponse | Membuat permintaan untuk mengambil URL menggunakan parameter lanjutan opsional. |
fetch | HTTPResponse[] | Membuat beberapa permintaan untuk mengambil beberapa URL menggunakan parameter lanjutan opsional. |
get | Object | Menampilkan permintaan yang dibuat jika operasi dipanggil. |
get | Object | Menampilkan permintaan yang dibuat jika operasi dipanggil. |
Dokumentasi mendetail
fetch(url)
Membuat permintaan untuk mengambil URL.
Ini berfungsi melalui HTTP dan HTTPS.
// The code below logs the HTML code of the Google home page. const response = UrlFetchApp.fetch('http://www.google.com/'); Logger.log(response.getContentText());
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
url | String | URL yang akan di-fetch. URL dapat berisi hingga 2.082 karakter. |
Pulang pergi
HTTPResponse — Data respons HTTP.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.external_request
fetch(url, params)
Membuat permintaan untuk mengambil URL menggunakan parameter lanjutan opsional.
Ini berfungsi melalui HTTP dan HTTPS.
// Make a GET request and log the returned content. const response = UrlFetchApp.fetch('http://www.google.com/'); Logger.log(response.getContentText());
// Make a POST request with form data. const resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt'); const formData = { name: 'Bob Smith', email: 'bob@example.com', resume: resumeBlob, }; // Because payload is a JavaScript object, it is interpreted as // as form data. (No need to specify contentType; it automatically // defaults to either 'application/x-www-form-urlencoded' // or 'multipart/form-data') const options = { method: 'post', payload: formData, }; UrlFetchApp.fetch('https://httpbin.org/post', options);
// Make a POST request with a JSON payload. const data = { name: 'Bob Smith', age: 35, pets: ['fido', 'fluffy'], }; const options = { method: 'post', contentType: 'application/json', // Convert the JavaScript object to a JSON string. payload: JSON.stringify(data), }; UrlFetchApp.fetch('https://httpbin.org/post', options);
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
url | String | URL yang akan di-fetch. URL dapat berisi hingga 2.082 karakter. |
params | Object | Objek JavaScript opsional yang menentukan parameter lanjutan seperti yang ditentukan di bawah. |
Parameter lanjutan
| Nama | Jenis | Deskripsi |
|---|---|---|
content | String | jenis konten (defaultnya 'application/x-www-form-urlencoded'). Contoh jenis konten lainnya adalah 'application/xml; charset=utf-8'. |
headers | Object | peta nilai/kunci JavaScript dari header HTTP untuk permintaan |
method | String | metode HTTP untuk permintaan: get, delete,
patch, post, atau put. Defaultnya adalah get. |
payload | String | payload (yaitu, isi POST) untuk permintaan. Metode HTTP tertentu (misalnya, GET) tidak menerima payload. Dapat berupa string, array byte, blob, atau objek JavaScript. Objek JavaScript ditafsirkan sebagai peta nama kolom formulir ke nilai, dengan nilai dapat berupa string atau blob. |
use | Boolean | Tidak digunakan lagi. Hal ini menginstruksikan pengambilan untuk menyelesaikan URL yang ditentukan dalam intranet yang ditautkan ke domain Anda melalui SDC (tidak digunakan lagi) |
validate | Boolean | Jika false pengambilan mengabaikan sertifikat yang tidak valid untuk permintaan HTTPS. Defaultnya adalah true. |
follow | Boolean | Jika false pengambilan tidak otomatis
mengikuti pengalihan HTTP; pengambilan akan menampilkan respons HTTP asli. Defaultnya adalah true. |
mute | Boolean | Jika true pengambilan tidak memunculkan
pengecualian jika kode respons menunjukkan kegagalan, dan sebagai gantinya menampilkan HTTPResponse. Defaultnya adalah false. |
escaping | Boolean | Jika karakter khusus false dalam URL tidak di-escape. Defaultnya adalah true. |
Pulang pergi
HTTPResponse — Data respons HTTP.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.external_request
fetchAll(requests)
Membuat beberapa permintaan untuk mengambil beberapa URL menggunakan parameter lanjutan opsional.
Ini berfungsi melalui HTTP dan HTTPS.
// Make both a POST request with form data, and a GET request. const resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt'); const formData = { name: 'Bob Smith', email: 'bob@example.com', resume: resumeBlob, }; // Because payload is a JavaScript object, it is interpreted as // as form data. (No need to specify contentType; it defaults to either // 'application/x-www-form-urlencoded' or 'multipart/form-data') const request1 = { url: 'https://httpbin.org/post', method: 'post', payload: formData, }; // A request may also just be a URL. const request2 = 'https://httpbin.org/get?key=value'; UrlFetchApp.fetchAll([request1, request2]);
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
requests | Object[] | Array URL atau objek JavaScript yang menentukan permintaan seperti yang ditentukan di bawah. |
Parameter lanjutan
| Nama | Jenis | Deskripsi |
|---|---|---|
url | String | URL yang akan diambil. URL dapat berisi hingga 2.082 karakter. |
content | String | jenis konten (defaultnya 'application/x-www-form-urlencoded'). Contoh jenis konten lainnya adalah 'application/xml; charset=utf-8'. |
headers | Object | peta nilai/kunci JavaScript dari header HTTP untuk permintaan |
method | String | metode HTTP untuk permintaan: get, delete,
patch, post, atau put. Defaultnya adalah get. |
payload | String | payload (yaitu, isi POST) untuk permintaan. Metode HTTP tertentu (misalnya, GET) tidak menerima payload. Dapat berupa string, array byte, blob, atau objek JavaScript. Objek JavaScript ditafsirkan sebagai peta nama kolom formulir ke nilai, dengan nilai dapat berupa string atau blob. |
use | Boolean | Tidak digunakan lagi. Hal ini menginstruksikan pengambilan untuk menyelesaikan URL yang ditentukan dalam intranet yang ditautkan ke domain Anda melalui SDC (tidak digunakan lagi) |
validate | Boolean | Jika false pengambilan mengabaikan sertifikat yang tidak valid untuk permintaan HTTPS. Defaultnya adalah true. |
follow | Boolean | Jika false pengambilan tidak otomatis
mengikuti pengalihan HTTP; pengambilan akan menampilkan respons HTTP asli. Defaultnya adalah true. |
mute | Boolean | Jika true, pengambilan tidak akan memunculkan
pengecualian jika kode respons menunjukkan kegagalan, dan sebagai gantinya akan menampilkan HTTPResponse. Defaultnya adalah false. |
escaping | Boolean | Jika false, karakter yang dicadangkan dalam URL tidak di-escape. Defaultnya adalah true. |
Pulang pergi
HTTPResponse[] — Array data respons HTTP dari setiap permintaan input.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url)
Menampilkan permintaan yang dibuat jika operasi dipanggil.
Metode ini sebenarnya tidak mengeluarkan permintaan.
// The code below logs the value for every key of the returned map. const response = UrlFetchApp.getRequest('http://www.google.com/'); for (const i in response) { Logger.log(`${i}: ${response[i]}`); }
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
url | String | URL yang akan dicari. URL dapat berisi hingga 2.082 karakter. |
Pulang pergi
Object — Peta Nama Kolom ke Nilai. Peta memiliki setidaknya kunci berikut: url,
method, contentType, payload, dan headers.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url, params)
Menampilkan permintaan yang dibuat jika operasi dipanggil.
Metode ini sebenarnya tidak mengeluarkan permintaan.
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
url | String | URL yang akan dicari. URL dapat berisi hingga 2.082 karakter. |
params | Object | Objek JavaScript opsional yang menentukan parameter lanjutan seperti yang ditentukan di bawah. |
Parameter lanjutan
| Nama | Jenis | Deskripsi |
|---|---|---|
content | String | jenis konten (defaultnya 'application/x-www-form-urlencoded'). Contoh jenis konten lainnya adalah 'application/xml; charset=utf-8'. |
headers | Object | peta nilai/kunci JavaScript dari header HTTP untuk permintaan |
method | String | metode HTTP untuk permintaan: get, delete,
patch, post, atau put. Defaultnya adalah get. |
payload | String | payload (yaitu, isi POST) untuk permintaan. Metode HTTP tertentu (misalnya, GET) tidak menerima payload. Dapat berupa string, array byte, blob, atau objek JavaScript. Objek JavaScript ditafsirkan sebagai peta nama kolom formulir ke nilai, dengan nilai dapat berupa string atau blob. |
use | Boolean | Tidak digunakan lagi. Hal ini menginstruksikan pengambilan untuk menyelesaikan URL yang ditentukan dalam intranet yang ditautkan ke domain Anda melalui SDC (tidak digunakan lagi) |
validate | Boolean | Jika false pengambilan mengabaikan sertifikat yang tidak valid untuk permintaan HTTPS. Defaultnya adalah true. |
follow | Boolean | Jika false pengambilan tidak otomatis
mengikuti pengalihan HTTP; pengambilan akan menampilkan respons HTTP asli. Defaultnya adalah true. |
mute | Boolean | Jika true pengambilan tidak memunculkan
pengecualian jika kode respons menunjukkan kegagalan, dan sebagai gantinya menampilkan HTTPResponse. Defaultnya adalah false. |
escaping | Boolean | Jika karakter khusus false dalam URL tidak di-escape. Defaultnya adalah true. |
Pulang pergi
Object — Peta Nama Kolom ke Nilai. Peta memiliki setidaknya kunci berikut: url,
method, contentType, payload, dan headers.
Otorisasi
Skrip yang menggunakan metode ini memerlukan otorisasi dengan satu atau beberapa cakupan berikut:
-
https://www.googleapis.com/auth/script.external_request