Class UrlFetchApp

UrlFetchApp

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 Pengambilan URL untuk menerbitkan HTTP dan HTTPS permintaan dan menerima tanggapan. Layanan Pengambilan URL menggunakan infrastruktur jaringan Google untuk untuk tujuan efisiensi dan penskalaan.

Permintaan yang dibuat menggunakan layanan ini berasal dari sekumpulan rentang IP. Anda dapat mencari daftar lengkap alamat IP jika Anda harus mengizinkan atau menyetujui permintaan ini.

Layanan ini memerlukan https://www.googleapis.com/auth/script.external_request ruang lingkup proyek. Dalam kebanyakan kasus, Apps Script secara 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 serta 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.

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 serta 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 ditetapkan di bawah.

Parameter lanjutan

NamaJenisDeskripsi
contentTypeStringjenis konten (default-nya adalah 'application/x-www-form-urlencoded'). Contoh lain dari tipe materi 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 tersebut. Tertentu Metode HTTP (misalnya, GET) tidak menerima payload. Dapat berupa string, array byte, blob, atau objek JavaScript. Objek JavaScript ditafsirkan sebagai peta kolom formulir nama menjadi nilai, dengan nilai bisa berupa string atau blob.
useIntranetBooleanTidak digunakan lagi. Hal ini menginstruksikan pengambilan untuk me-resolve URL dalam intranet yang tertaut ke domain Anda melalui SDC (tidak digunakan lagi)
validateHttpsCertificatesBooleanJika false, pengambilan mengabaikan salah satu sertifikat tidak valid untuk permintaan HTTPS. Defaultnya adalah true.
followRedirectsBooleanJika false, pengambilan tidak otomatis ikuti pengalihan HTTP; metode itu mengembalikan respons HTTP asli. Defaultnya adalah true.
muteHttpExceptionsBooleanJika true, pengambilan tidak menampilkan pengecualian jika kode respons menunjukkan kegagalan, dan sebagai gantinya menampilkan HTTPResponse. Defaultnya adalah false.
escapingBooleanJika false karakter yang dicadangkan 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 serta 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 dari objek URL atau JavaScript yang menentukan permintaan seperti yang ditentukan di bawah ini.

Parameter lanjutan

NamaJenisDeskripsi
urlStringURL yang akan diambil. URL dapat berisi hingga 2.082 karakter.
contentTypeStringjenis konten (default-nya adalah 'application/x-www-form-urlencoded'). Contoh lain dari tipe materi 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 tersebut. Tertentu Metode HTTP (misalnya, GET) tidak menerima payload. Dapat berupa string, array byte, blob, atau objek JavaScript. Objek JavaScript ditafsirkan sebagai peta kolom formulir nama menjadi nilai, dengan nilai bisa berupa string atau blob.
useIntranetBooleanTidak digunakan lagi. Hal ini menginstruksikan pengambilan untuk me-resolve URL dalam intranet yang tertaut ke domain Anda melalui SDC (tidak digunakan lagi)
validateHttpsCertificatesBooleanJika false, pengambilan mengabaikan salah satu sertifikat tidak valid untuk permintaan HTTPS. Defaultnya adalah true.
followRedirectsBooleanJika false, pengambilan tidak otomatis ikuti pengalihan HTTP; metode itu mengembalikan respons HTTP asli. Defaultnya adalah true.
muteHttpExceptionsBooleanJika true, pengambilan tidak akan menampilkan pengecualian jika kode respons menunjukkan kegagalan, dan sebagai gantinya 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 sebenarnya tidak 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.

Pulang pergi

Object — Peta Nama Kolom hingga Nilai. Peta setidaknya memiliki 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

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

Parameter lanjutan

NamaJenisDeskripsi
contentTypeStringjenis konten (default-nya adalah 'application/x-www-form-urlencoded'). Contoh lain dari tipe materi 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 tersebut. Tertentu Metode HTTP (misalnya, GET) tidak menerima payload. Dapat berupa string, array byte, blob, atau objek JavaScript. Objek JavaScript ditafsirkan sebagai peta kolom formulir nama menjadi nilai, dengan nilai bisa berupa string atau blob.
useIntranetBooleanTidak digunakan lagi. Hal ini menginstruksikan pengambilan untuk me-resolve URL dalam intranet yang tertaut ke domain Anda melalui SDC (tidak digunakan lagi)
validateHttpsCertificatesBooleanJika false, pengambilan mengabaikan salah satu sertifikat tidak valid untuk permintaan HTTPS. Defaultnya adalah true.
followRedirectsBooleanJika false, pengambilan tidak otomatis ikuti pengalihan HTTP; metode itu mengembalikan respons HTTP asli. Defaultnya adalah true.
muteHttpExceptionsBooleanJika true, pengambilan tidak menampilkan pengecualian jika kode respons menunjukkan kegagalan, dan sebagai gantinya menampilkan HTTPResponse. Defaultnya adalah false.
escapingBooleanJika false karakter yang dicadangkan dalam URL tidak di-escape. Defaultnya adalah true.

Pulang pergi

Object — Peta Nama Kolom hingga Nilai. Peta setidaknya memiliki 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