Mengambil resource dan berkomunikasi dengan host lain melalui Internet.
Layanan ini memungkinkan skrip untuk berkomunikasi dengan aplikasi lain atau mengakses resource lain di web dengan mengambil URL. Skrip dapat menggunakan layanan Pengambilan URL untuk mengajukan permintaan HTTP dan HTTPS serta menerima respons. Layanan Pengambilan URL menggunakan infrastruktur jaringan Google untuk tujuan efisiensi dan penskalaan.
Permintaan yang dibuat menggunakan layanan ini berasal dari kumpulan rentang IP. Anda dapat mencari daftar lengkap alamat IP jika perlu mengizinkan atau menyetujui permintaan ini.
Layanan ini memerlukan cakupan
https://www.googleapis.com/auth/script.external_request
. Pada umumnya, Apps Script otomatis mendeteksi dan menyertakan cakupan yang diperlukan skrip,
tetapi jika Anda menetapkan cakupan
secara eksplisit, Anda harus menambahkan cakupan ini secara manual untuk menggunakan UrlFetchApp
.
Lihat juga
Metode
Metode | Jenis hasil 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. |
fetchAll(requests) | HTTPResponse[] | Membuat beberapa permintaan untuk mengambil beberapa URL menggunakan parameter lanjutan opsional. |
getRequest(url) | Object | Menampilkan permintaan yang dibuat jika operasi dipanggil. |
getRequest(url, params) | 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. var response = UrlFetchApp.fetch("http://www.google.com/"); Logger.log(response.getContentText());
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
url | String | URL yang akan diambil. URL dapat berisi hingga 2.082 karakter. |
Return
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. var response = UrlFetchApp.fetch('http://www.google.com/'); Logger.log(response.getContentText());
// Make a POST request with form data. var resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt'); var 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') var options = { 'method' : 'post', 'payload' : formData }; UrlFetchApp.fetch('https://httpbin.org/post', options);
// Make a POST request with a JSON payload. var data = { 'name': 'Bob Smith', 'age': 35, 'pets': ['fido', 'fluffy'] }; var 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 diambil. 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 |
---|---|---|
contentType | String | jenis konten (default-nya adalah 'application/x-www-form-urlencoding'). Contoh jenis konten lainnya adalah 'application/xml; charset=utf-8'. |
headers | Object | peta kunci/nilai JavaScript dari header HTTP untuk permintaan |
method | String | metode HTTP untuk permintaan: get , delete ,
patch , post , atau put . Defaultnya adalah get . |
payload | String | {i>payload<i} (yaitu, isi POST) untuk permintaan tersebut. Metode HTTP tertentu (misalnya, GET) tidak menerima payload. Objek ini dapat berupa string, array byte, blob, atau objek JavaScript. Objek JavaScript ditafsirkan sebagai peta dari nama kolom formulir menjadi nilai, dengan nilainya bisa berupa string atau blob. |
useIntranet | Boolean | Tidak digunakan lagi. Tindakan ini memerintahkan pengambilan untuk me-resolve URL yang ditentukan dalam intranet yang ditautkan ke domain Anda melalui SDC (tidak digunakan lagi) |
validateHttpsCertificates | Boolean | Jika false , pengambilan mengabaikan
sertifikat yang tidak valid untuk permintaan HTTPS. Defaultnya adalah true . |
followRedirects | Boolean | Jika false , pengambilan tidak otomatis mengikuti pengalihan HTTP, tetapi akan menampilkan respons HTTP asli. Defaultnya adalah true . |
muteHttpExceptions | Boolean | Jika true , pengambilan tidak menampilkan pengecualian jika kode respons menunjukkan kegagalan, dan akan menampilkan HTTPResponse sebagai gantinya. Defaultnya adalah false . |
escaping | Boolean | Jika false karakter khusus dalam URL tidak di-escape. Defaultnya adalah true . |
Return
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. var resumeBlob = Utilities.newBlob('Hire me!', 'text/plain', 'resume.txt'); var 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') var request1 = { 'url': 'https://httpbin.org/post', 'method' : 'post', 'payload' : formData }; // A request may also just be a URL. var request2 = 'https://httpbin.org/get?key=value'; UrlFetchApp.fetchAll([request1, request2]);
Parameter
Nama | Jenis | Deskripsi |
---|---|---|
requests | Object[] | Array berisi URL atau objek JavaScript yang menentukan permintaan seperti yang dijelaskan di bawah. |
Parameter lanjutan
Nama | Jenis | Deskripsi |
---|---|---|
url | String | URL yang akan diambil. URL dapat berisi hingga 2.082 karakter. |
contentType | String | jenis konten (default-nya adalah 'application/x-www-form-urlencoding'). Contoh jenis konten lainnya adalah 'application/xml; charset=utf-8'. |
headers | Object | peta kunci/nilai JavaScript dari header HTTP untuk permintaan |
method | String | metode HTTP untuk permintaan: get , delete ,
patch , post , atau put . Defaultnya adalah get . |
payload | String | {i>payload<i} (yaitu, isi POST) untuk permintaan tersebut. Metode HTTP tertentu (misalnya, GET) tidak menerima payload. Objek ini dapat berupa string, array byte, blob, atau objek JavaScript. Objek JavaScript ditafsirkan sebagai peta dari nama kolom formulir menjadi nilai, dengan nilainya bisa berupa string atau blob. |
useIntranet | Boolean | Tidak digunakan lagi. Tindakan ini memerintahkan pengambilan untuk me-resolve URL yang ditentukan dalam intranet yang ditautkan ke domain Anda melalui SDC (tidak digunakan lagi) |
validateHttpsCertificates | Boolean | Jika false , pengambilan mengabaikan
sertifikat yang tidak valid untuk permintaan HTTPS. Defaultnya adalah true . |
followRedirects | Boolean | Jika false , pengambilan tidak otomatis mengikuti pengalihan HTTP, tetapi akan menampilkan respons HTTP asli. Defaultnya adalah true . |
muteHttpExceptions | Boolean | Jika true , pengambilan tidak menampilkan pengecualian jika kode respons menunjukkan kegagalan, dan akan menampilkan HTTPResponse sebagai gantinya. Defaultnya adalah false . |
escaping | Boolean | Jika false , karakter yang dicadangkan dalam URL tidak di-escape. Defaultnya adalah true . |
Return
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 tidak benar-benar mengeluarkan permintaan.
// The code below logs the value for every key of the returned map. var response = UrlFetchApp.getRequest("http://www.google.com/"); for(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. |
Return
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 tidak benar-benar 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 dijelaskan di bawah. |
Parameter lanjutan
Nama | Jenis | Deskripsi |
---|---|---|
contentType | String | jenis konten (default-nya adalah 'application/x-www-form-urlencoding'). Contoh jenis konten lainnya adalah 'application/xml; charset=utf-8'. |
headers | Object | peta kunci/nilai JavaScript dari header HTTP untuk permintaan |
method | String | metode HTTP untuk permintaan: get , delete ,
patch , post , atau put . Defaultnya adalah get . |
payload | String | {i>payload<i} (yaitu, isi POST) untuk permintaan tersebut. Metode HTTP tertentu (misalnya, GET) tidak menerima payload. Objek ini dapat berupa string, array byte, blob, atau objek JavaScript. Objek JavaScript ditafsirkan sebagai peta dari nama kolom formulir menjadi nilai, dengan nilainya bisa berupa string atau blob. |
useIntranet | Boolean | Tidak digunakan lagi. Tindakan ini memerintahkan pengambilan untuk me-resolve URL yang ditentukan dalam intranet yang ditautkan ke domain Anda melalui SDC (tidak digunakan lagi) |
validateHttpsCertificates | Boolean | Jika false , pengambilan mengabaikan
sertifikat yang tidak valid untuk permintaan HTTPS. Defaultnya adalah true . |
followRedirects | Boolean | Jika false , pengambilan tidak otomatis mengikuti pengalihan HTTP, tetapi akan menampilkan respons HTTP asli. Defaultnya adalah true . |
muteHttpExceptions | Boolean | Jika true , pengambilan tidak menampilkan pengecualian jika kode respons menunjukkan kegagalan, dan akan menampilkan HTTPResponse sebagai gantinya. Defaultnya adalah false . |
escaping | Boolean | Jika false karakter yang dicadangkan dalam URL tidak di-escape. Defaultnya adalah true . |
Return
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