Class UrlFetchApp

UrlFetchApp

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

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.

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

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

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

Parameter lanjutan

NamaJenisDeskripsi
contentTypeStringjenis konten (default-nya adalah 'application/x-www-form-urlencoding'). Contoh jenis konten lainnya 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.
payloadString{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.
useIntranetBooleanTidak digunakan lagi. Tindakan ini memerintahkan pengambilan untuk me-resolve URL yang ditentukan dalam intranet yang ditautkan ke domain Anda melalui SDC (tidak digunakan lagi)
validateHttpsCertificatesBooleanJika false, pengambilan mengabaikan sertifikat yang tidak valid untuk permintaan HTTPS. Defaultnya adalah true.
followRedirectsBooleanJika false, pengambilan tidak otomatis mengikuti pengalihan HTTP, tetapi akan menampilkan respons HTTP asli. Defaultnya adalah true.
muteHttpExceptionsBooleanJika true, pengambilan tidak menampilkan pengecualian jika kode respons menunjukkan kegagalan, dan akan menampilkan HTTPResponse sebagai gantinya. Defaultnya adalah false.
escapingBooleanJika 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

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

Parameter lanjutan

NamaJenisDeskripsi
urlStringURL yang akan diambil. URL dapat berisi hingga 2.082 karakter.
contentTypeStringjenis konten (default-nya adalah 'application/x-www-form-urlencoding'). Contoh jenis konten lainnya 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.
payloadString{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.
useIntranetBooleanTidak digunakan lagi. Tindakan ini memerintahkan pengambilan untuk me-resolve URL yang ditentukan dalam intranet yang ditautkan ke domain Anda melalui SDC (tidak digunakan lagi)
validateHttpsCertificatesBooleanJika false, pengambilan mengabaikan sertifikat yang tidak valid untuk permintaan HTTPS. Defaultnya adalah true.
followRedirectsBooleanJika false, pengambilan tidak otomatis mengikuti pengalihan HTTP, tetapi akan menampilkan respons HTTP asli. Defaultnya adalah true.
muteHttpExceptionsBooleanJika true, pengambilan tidak menampilkan pengecualian jika kode respons menunjukkan kegagalan, dan akan menampilkan HTTPResponse sebagai gantinya. Defaultnya adalah false.
escapingBooleanJika 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

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

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

Parameter lanjutan

NamaJenisDeskripsi
contentTypeStringjenis konten (default-nya adalah 'application/x-www-form-urlencoding'). Contoh jenis konten lainnya 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.
payloadString{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.
useIntranetBooleanTidak digunakan lagi. Tindakan ini memerintahkan pengambilan untuk me-resolve URL yang ditentukan dalam intranet yang ditautkan ke domain Anda melalui SDC (tidak digunakan lagi)
validateHttpsCertificatesBooleanJika false, pengambilan mengabaikan sertifikat yang tidak valid untuk permintaan HTTPS. Defaultnya adalah true.
followRedirectsBooleanJika false, pengambilan tidak otomatis mengikuti pengalihan HTTP, tetapi akan menampilkan respons HTTP asli. Defaultnya adalah true.
muteHttpExceptionsBooleanJika true, pengambilan tidak menampilkan pengecualian jika kode respons menunjukkan kegagalan, dan akan menampilkan HTTPResponse sebagai gantinya. Defaultnya adalah false.
escapingBooleanJika 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