Class UrlFetchApp

UrlTìm nạpỨng dụng

Tìm nạp tài nguyên và giao tiếp với các máy chủ lưu trữ khác qua Internet.

Dịch vụ này cho phép tập lệnh giao tiếp với các ứng dụng khác hoặc truy cập vào các tài nguyên khác trên web bằng cách tìm nạp URL. Tập lệnh có thể sử dụng dịch vụ Tìm nạp URL để đưa ra các yêu cầu HTTP và HTTPS và nhận phản hồi. Dịch vụ Tìm nạp URL sử dụng cơ sở hạ tầng mạng của Google cho mục đích hiệu quả và mở rộng quy mô.

Các yêu cầu được thực hiện bằng dịch vụ này bắt nguồn từ một nhóm các dải IP đã đặt. Bạn có thể tra cứu danh sách đầy đủ các địa chỉ IP nếu cần thêm vào danh sách cho phép hoặc phê duyệt các yêu cầu này.

Dịch vụ này yêu cầu phạm vi https://www.googleapis.com/auth/script.external_request. Trong hầu hết các trường hợp, Apps Script sẽ tự động phát hiện và đưa vào các phạm vi mà tập lệnh cần, nhưng nếu bạn đang thiết lập phạm vi một cách rõ ràng, thì bạn phải thêm phạm vi này theo cách thủ công để sử dụng UrlFetchApp.

Xem thêm

Phương thức

Phương thứcLoại dữ liệu trả vềMô tả ngắn
fetch(url)HTTPResponseTạo yêu cầu tìm nạp URL.
fetch(url, params)HTTPResponseTạo yêu cầu tìm nạp URL bằng các tham số nâng cao không bắt buộc.
fetchAll(requests)HTTPResponse[]Thực hiện nhiều yêu cầu để tìm nạp nhiều URL bằng các tham số nâng cao không bắt buộc.
getRequest(url)ObjectTrả về yêu cầu được thực hiện nếu thao tác được gọi.
getRequest(url, params)ObjectTrả về yêu cầu được thực hiện nếu thao tác được gọi.

Tài liệu chi tiết

fetch(url)

Tạo yêu cầu tìm nạp URL.

Phương thức này hoạt động qua HTTP cũng như 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());

Tham số

TênLoạiMô tả
urlStringURL cần tìm nạp. URL có thể có tối đa 2.082 ký tự.

Cầu thủ trả bóng

HTTPResponse – Dữ liệu phản hồi HTTP.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/script.external_request

fetch(url, params)

Tạo yêu cầu tìm nạp URL bằng các tham số nâng cao không bắt buộc.

Phương thức này hoạt động qua HTTP cũng như 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);

Tham số

TênLoạiMô tả
urlStringURL cần tìm nạp. URL có thể có tối đa 2.082 ký tự.
paramsObjectĐối tượng JavaScript không bắt buộc chỉ định các thông số nâng cao như được xác định bên dưới.

Thông số nâng cao

TênLoạiMô tả
contentTypeStringloại nội dung (mặc định là "application/x-www-form-urlencoded"). Một ví dụ khác về loại nội dung là "application/xml; charset=utf-8".
headersObjectmột bản đồ khoá/giá trị JavaScript của các tiêu đề HTTP cho yêu cầu
methodStringphương thức HTTP cho yêu cầu: get, delete, patch, post hoặc put. Giá trị mặc định là get.
payloadStringtải trọng (tức là nội dung POST) cho yêu cầu. Một số phương thức HTTP (ví dụ: GET) không chấp nhận tải trọng. Đó có thể là một chuỗi, mảng byte, blob hoặc đối tượng JavaScript. Đối tượng JavaScript được diễn giải là một bản đồ ánh xạ tên trường biểu mẫu đến các giá trị, trong đó các giá trị có thể là chuỗi hoặc blob.
useIntranetBooleanKhông dùng nữa. Thao tác này sẽ hướng dẫn tìm nạp để phân giải URL được chỉ định trong mạng nội bộ được liên kết với miền của bạn thông qua SDC (không dùng nữa)
validateHttpsCertificatesBooleanNếu false, thì lệnh tìm nạp sẽ bỏ qua mọi chứng chỉ không hợp lệ cho các yêu cầu HTTPS. Giá trị mặc định là true.
followRedirectsBooleanNếu false, lệnh tìm nạp không tự động theo các lệnh chuyển hướng HTTP; lệnh này sẽ trả về phản hồi HTTP ban đầu. Giá trị mặc định là true.
muteHttpExceptionsBooleanNếu true, thì lệnh tìm nạp sẽ không gửi ngoại lệ nếu mã phản hồi cho biết không thành công, thay vào đó sẽ trả về HTTPResponse. Giá trị mặc định là false.
escapingBooleanNếu các ký tự dành riêng false trong URL không được thoát. Giá trị mặc định là true.

Cầu thủ trả bóng

HTTPResponse – Dữ liệu phản hồi HTTP.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/script.external_request

fetchAll(requests)

Thực hiện nhiều yêu cầu để tìm nạp nhiều URL bằng các tham số nâng cao không bắt buộc.

Phương thức này hoạt động qua HTTP cũng như 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]);

Tham số

TênLoạiMô tả
requestsObject[]Một mảng gồm các URL hoặc đối tượng JavaScript chỉ định các yêu cầu như được xác định bên dưới.

Thông số nâng cao

TênLoạiMô tả
urlStringURL cần tìm nạp. URL có thể có tối đa 2.082 ký tự.
contentTypeStringloại nội dung (mặc định là "application/x-www-form-urlencoded"). Một ví dụ khác về loại nội dung là "application/xml; charset=utf-8".
headersObjectmột bản đồ khoá/giá trị JavaScript của các tiêu đề HTTP cho yêu cầu
methodStringphương thức HTTP cho yêu cầu: get, delete, patch, post hoặc put. Giá trị mặc định là get.
payloadStringtải trọng (tức là nội dung POST) cho yêu cầu. Một số phương thức HTTP (ví dụ: GET) không chấp nhận tải trọng. Đó có thể là một chuỗi, mảng byte, blob hoặc đối tượng JavaScript. Đối tượng JavaScript được diễn giải là một bản đồ ánh xạ tên trường biểu mẫu đến các giá trị, trong đó các giá trị có thể là chuỗi hoặc blob.
useIntranetBooleanKhông dùng nữa. Thao tác này sẽ hướng dẫn tìm nạp để phân giải URL được chỉ định trong mạng nội bộ được liên kết với miền của bạn thông qua SDC (không dùng nữa)
validateHttpsCertificatesBooleanNếu false, thì lệnh tìm nạp sẽ bỏ qua mọi chứng chỉ không hợp lệ cho các yêu cầu HTTPS. Giá trị mặc định là true.
followRedirectsBooleanNếu false, lệnh tìm nạp không tự động theo các lệnh chuyển hướng HTTP; lệnh này sẽ trả về phản hồi HTTP ban đầu. Giá trị mặc định là true.
muteHttpExceptionsBooleanNếu là true, lệnh tìm nạp sẽ không gửi ngoại lệ nếu mã phản hồi cho biết không thành công, thay vào đó sẽ trả về HTTPResponse. Giá trị mặc định là false.
escapingBooleanNếu là false, các ký tự được đặt trước trong URL sẽ không được thoát. Giá trị mặc định là true.

Cầu thủ trả bóng

HTTPResponse[] – Một mảng dữ liệu phản hồi HTTP từ mỗi yêu cầu đầu vào.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/script.external_request

getRequest(url)

Trả về yêu cầu được thực hiện nếu thao tác được gọi.

Phương thức này không thực sự đưa ra yêu cầu.

// 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]}`);
}

Tham số

TênLoạiMô tả
urlStringURL cần tra cứu. URL có thể có tối đa 2.082 ký tự.

Cầu thủ trả bóng

Object – Bản đồ ánh xạ Tên trường đến Giá trị. Bản đồ có ít nhất các khoá sau: url, method, contentType, payloadheaders.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/script.external_request

getRequest(url, params)

Trả về yêu cầu được thực hiện nếu thao tác được gọi.

Phương thức này không thực sự đưa ra yêu cầu.

Tham số

TênLoạiMô tả
urlStringURL cần tra cứu. URL có thể có tối đa 2.082 ký tự.
paramsObjectMột đối tượng JavaScript không bắt buộc chỉ định các tham số nâng cao như được xác định bên dưới.

Thông số nâng cao

TênLoạiMô tả
contentTypeStringloại nội dung (mặc định là "application/x-www-form-urlencoded"). Một ví dụ khác về loại nội dung là "application/xml; charset=utf-8".
headersObjectmột bản đồ khoá/giá trị JavaScript của các tiêu đề HTTP cho yêu cầu
methodStringphương thức HTTP cho yêu cầu: get, delete, patch, post hoặc put. Giá trị mặc định là get.
payloadStringtải trọng (tức là nội dung POST) cho yêu cầu. Một số phương thức HTTP (ví dụ: GET) không chấp nhận tải trọng. Đó có thể là một chuỗi, mảng byte, blob hoặc đối tượng JavaScript. Đối tượng JavaScript được diễn giải là một bản đồ ánh xạ tên trường biểu mẫu đến các giá trị, trong đó các giá trị có thể là chuỗi hoặc blob.
useIntranetBooleanKhông dùng nữa. Thao tác này sẽ hướng dẫn tìm nạp để phân giải URL được chỉ định trong mạng nội bộ được liên kết với miền của bạn thông qua SDC (không dùng nữa)
validateHttpsCertificatesBooleanNếu false, thì lệnh tìm nạp sẽ bỏ qua mọi chứng chỉ không hợp lệ cho các yêu cầu HTTPS. Giá trị mặc định là true.
followRedirectsBooleanNếu false, lệnh tìm nạp không tự động theo các lệnh chuyển hướng HTTP; lệnh này sẽ trả về phản hồi HTTP ban đầu. Giá trị mặc định là true.
muteHttpExceptionsBooleanNếu true, thì lệnh tìm nạp sẽ không gửi ngoại lệ nếu mã phản hồi cho biết không thành công, thay vào đó sẽ trả về HTTPResponse. Giá trị mặc định là false.
escapingBooleanNếu các ký tự dành riêng false trong URL không được thoát. Giá trị mặc định là true.

Cầu thủ trả bóng

Object – Bản đồ ánh xạ Tên trường đến Giá trị. Bản đồ có ít nhất các khoá sau: url, method, contentType, payloadheaders.

Ủy quyền

Các tập lệnh sử dụng phương thức này yêu cầu được uỷ quyền với một hoặc nhiều phạm vi sau:

  • https://www.googleapis.com/auth/script.external_request