Class UrlFetchApp

UrlPengambilanAplikasi

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 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

MetodeJenis hasil yang ditampilkanDeskripsi singkat
fetch(url)HTTPResponseMembuat permintaan untuk mengambil URL.
fetch(url, params)HTTPResponseMembuat permintaan untuk mengambil URL menggunakan parameter lanjutan opsional.
fetchAll(requests)HTTPResponse[]Membuat beberapa permintaan untuk mengambil beberapa URL menggunakan parameter lanjutan opsional.
getRequest(url)ObjectMenampilkan permintaan yang dibuat jika operasi dipanggil.
getRequest(url, params)ObjectMenampilkan permintaan yang dibuat jika operasi dipanggil.

Dokumentasi mendetail

fetch(url)

Membuat permintaan untuk mengambil URL.

Hal 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

NamaJenisDeskripsi
urlStringURL yang akan diambil. URL dapat berisi maksimal 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.

Hal 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

NamaJenisDeskripsi
urlStringURL yang akan diambil. URL dapat berisi maksimal 2.082 karakter.
paramsObjectObjek JavaScript opsional yang menentukan parameter lanjutan seperti yang ditentukan di bawah.

Parameter lanjutan

NamaJenisDeskripsi
contentTypeStringjenis konten (defaultnya adalah 'application/x-www-form-urlencoded'). Contoh lain jenis konten adalah 'application/xml; charset=utf-8'.
headersObjectpeta kunci/nilai JavaScript dari header HTTP untuk permintaan
methodStringmetode HTTP untuk permintaan: get, delete, patch, post, atau put. Defaultnya adalah get.
payloadStringpayload (yaitu, isi POST) untuk permintaan. Metode HTTP tertentu (misalnya, GET) tidak menerima payload. Nilai ini 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.
useIntranetBooleanTidak digunakan lagi. Tindakan ini akan memerintahkan pengambilan untuk me-resolve URL yang ditentukan dalam intranet yang ditautkan ke domain Anda melalui SDC (tidak digunakan lagi)
validateHttpsCertificatesBooleanJika false, pengambilan akan mengabaikan sertifikat yang tidak valid untuk permintaan HTTPS. Defaultnya adalah true.
followRedirectsBooleanJika false, pengambilan tidak akan otomatis mengikuti pengalihan HTTP; pengambilan akan menampilkan respons HTTP asli. Defaultnya adalah true.
muteHttpExceptionsBooleanJika true, pengambilan tidak akan menampilkan pengecualian jika kode respons menunjukkan kegagalan, dan akan menampilkan HTTPResponse. Defaultnya adalah false.
escapingBooleanJika karakter yang dicadangkan 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.

Hal 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

NamaJenisDeskripsi
requestsObject[]Array URL atau objek JavaScript yang menentukan permintaan seperti yang ditentukan di bawah.

Parameter lanjutan

NamaJenisDeskripsi
urlStringURL yang akan diambil. URL dapat berisi maksimal 2.082 karakter.
contentTypeStringjenis konten (defaultnya adalah 'application/x-www-form-urlencoded'). Contoh lain jenis konten adalah 'application/xml; charset=utf-8'.
headersObjectpeta kunci/nilai JavaScript dari header HTTP untuk permintaan
methodStringmetode HTTP untuk permintaan: get, delete, patch, post, atau put. Defaultnya adalah get.
payloadStringpayload (yaitu, isi POST) untuk permintaan. Metode HTTP tertentu (misalnya, GET) tidak menerima payload. Nilai ini 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.
useIntranetBooleanTidak digunakan lagi. Tindakan ini akan memerintahkan pengambilan untuk me-resolve URL yang ditentukan dalam intranet yang ditautkan ke domain Anda melalui SDC (tidak digunakan lagi)
validateHttpsCertificatesBooleanJika false, pengambilan akan mengabaikan sertifikat yang tidak valid untuk permintaan HTTPS. Defaultnya adalah true.
followRedirectsBooleanJika false, pengambilan tidak akan otomatis mengikuti pengalihan HTTP; pengambilan akan menampilkan respons HTTP asli. Defaultnya adalah true.
muteHttpExceptionsBooleanJika true, pengambilan tidak akan menampilkan pengecualian jika kode respons menunjukkan kegagalan, dan akan menampilkan HTTPResponse. Defaultnya adalah false.
escapingBooleanJika 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 tidak benar-benar 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

NamaJenisDeskripsi
urlStringURL yang akan dicari. URL dapat berisi maksimal 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 tidak benar-benar mengeluarkan permintaan.

Parameter

NamaJenisDeskripsi
urlStringURL yang akan dicari. URL dapat berisi maksimal 2.082 karakter.
paramsObjectObjek JavaScript opsional yang menentukan parameter lanjutan seperti yang ditentukan di bawah.

Parameter lanjutan

NamaJenisDeskripsi
contentTypeStringjenis konten (defaultnya adalah 'application/x-www-form-urlencoded'). Contoh lain jenis konten adalah 'application/xml; charset=utf-8'.
headersObjectpeta kunci/nilai JavaScript dari header HTTP untuk permintaan
methodStringmetode HTTP untuk permintaan: get, delete, patch, post, atau put. Defaultnya adalah get.
payloadStringpayload (yaitu, isi POST) untuk permintaan. Metode HTTP tertentu (misalnya, GET) tidak menerima payload. Nilai ini 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.
useIntranetBooleanTidak digunakan lagi. Tindakan ini akan memerintahkan pengambilan untuk me-resolve URL yang ditentukan dalam intranet yang ditautkan ke domain Anda melalui SDC (tidak digunakan lagi)
validateHttpsCertificatesBooleanJika false, pengambilan akan mengabaikan sertifikat yang tidak valid untuk permintaan HTTPS. Defaultnya adalah true.
followRedirectsBooleanJika false, pengambilan tidak akan otomatis mengikuti pengalihan HTTP; pengambilan akan menampilkan respons HTTP asli. Defaultnya adalah true.
muteHttpExceptionsBooleanJika true, pengambilan tidak akan menampilkan pengecualian jika kode respons menunjukkan kegagalan, dan akan menampilkan HTTPResponse. Defaultnya adalah false.
escapingBooleanJika karakter yang dicadangkan 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