Class UrlFetchApp

UrlFetchApp

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

Dịch vụ này cho phép các 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 các 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 để đạt được hiệu suất 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 dải IP đã đặt. Bạn có thể tra cứu danh sách đầy đủ các địa chỉ IP nếu cần đưa các yêu cầu này vào danh sách cho phép hoặc phê duyệt.

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à bao gồm các phạm vi mà tập lệnh cần, nhưng nếu đang đặt phạm vi một cách rõ ràng, bạn phải tự thêm phạm vi này để sử dụng UrlFetchApp.

Xem thêm

Phương thức

Phương thứcKiểu dữ liệu trả vềMô tả ngắn
fetch(url)HTTPResponseĐưa ra yêu cầu tìm nạp URL.
fetch(url, params)HTTPResponseĐưa ra yêu cầu tìm nạp URL bằng cách sử dụng các thông 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ách sử dụng thông 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 hoạt động đã được gọi.
getRequest(url, params)ObjectTrả về yêu cầu được thực hiện nếu hoạt động được gọi.

Tài liệu chi tiết

fetch(url)

Đưa ra 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.
var response = UrlFetchApp.fetch("http://www.google.com/");
Logger.log(response.getContentText());

Các tham số

TênLoạiNội dung mô tả
urlStringURL cần tìm nạp. URL có thể chứa 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

Tập lệnh sử dụng phương thức này cần đượ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)

Đưa ra yêu cầu tìm nạp URL bằng cách sử dụng các thông 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.
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);

Các tham số

TênLoạiNội dung mô tả
urlStringURL cần tìm nạp. URL có thể chứa tối đa 2.082 ký tự.
paramsObjectĐối tượng JavaScript tuỳ chọn 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ạiNội dung mô tả
contentTypeStringloại nội dung (mặc định là 'application/x-www-form-urlcoded'). Một ví dụ khác về loại nội dung là "ứng dụng/xml; bộ ký tự=utf-8".
headersObjectbản đồ khoá/giá trị JavaScript của 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ột mảng byte, một blob hoặc một đối tượng JavaScript. Đối tượng JavaScript được hiểu là bản đồ liên kết tên trường biểu mẫu với các giá trị, trong đó giá trị có thể là chuỗi hoặc blob.
useIntranetBooleanKhông dùng nữa. Thao tác này hướng dẫn tìm nạp để phân giải URL được chỉ định trong mạng nội bộ đã 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, hoạt động tìm nạp sẽ bỏ qua mọi chứng chỉ không hợp lệ đối với các yêu cầu HTTPS. Giá trị mặc định là true.
followRedirectsBooleanNếu false, hoạt động tìm nạp không tự động theo các lệnh chuyển hướng HTTP mà sẽ trả về phản hồi HTTP ban đầu. Giá trị mặc định là true.
muteHttpExceptionsBooleanNếu true, quá trình tìm nạp sẽ không gửi trường hợp ngoại lệ nếu mã phản hồi cho thấy không thành công mà sẽ trả về HTTPResponse. Giá trị mặc định là false.
escapingBooleanNếu các ký tự dành riêng của false trong URL không có ký tự 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

Tập lệnh sử dụng phương thức này cần đượ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ách sử dụng thông 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.
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]);

Các tham số

TênLoạiNội dung mô tả
requestsObject[]Một mảng 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ạiNội dung mô tả
urlStringURL cần tìm nạp. URL có thể chứa tối đa 2.082 ký tự.
contentTypeStringloại nội dung (mặc định là 'application/x-www-form-urlcoded'). Một ví dụ khác về loại nội dung là "ứng dụng/xml; bộ ký tự=utf-8".
headersObjectbản đồ khoá/giá trị JavaScript của 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ột mảng byte, một blob hoặc một đối tượng JavaScript. Đối tượng JavaScript được hiểu là bản đồ liên kết tên trường biểu mẫu với các giá trị, trong đó giá trị có thể là chuỗi hoặc blob.
useIntranetBooleanKhông dùng nữa. Thao tác này hướng dẫn tìm nạp để phân giải URL được chỉ định trong mạng nội bộ đã 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, hoạt động tìm nạp sẽ bỏ qua mọi chứng chỉ không hợp lệ đối với các yêu cầu HTTPS. Giá trị mặc định là true.
followRedirectsBooleanNếu false, hoạt động tìm nạp không tự động theo các lệnh chuyển hướng HTTP mà sẽ trả về phản hồi HTTP ban đầu. Giá trị mặc định là true.
muteHttpExceptionsBooleanNếu là true, quá trình tìm nạp sẽ không gửi trường hợp ngoại lệ nếu mã phản hồi cho thấy không thành công mà sẽ trả về HTTPResponse. Giá trị mặc định là false.
escapingBooleanNếu giá trị là false, các ký tự dành riêng 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

Tập lệnh sử dụng phương thức này cần đượ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 hoạt động đã đượ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.
var response = UrlFetchApp.getRequest("http://www.google.com/");
for(i in response) {
  Logger.log(i + ": " + response[i]);
}

Các tham số

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

Cầu thủ trả bóng

Object — Bản đồ liên kết Tên trường đến giá trị. Bản đồ có ít nhất các khoá sau: url, method, contentType, payloadheaders.

Ủy quyền

Tập lệnh sử dụng phương thức này cần đượ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 hoạt động được gọi.

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

Các tham số

TênLoạiNội dung mô tả
urlStringURL cần tra cứu. URL có thể chứa tối đa 2.082 ký tự.
paramsObjectĐối tượng JavaScript tuỳ chọn 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ạiNội dung mô tả
contentTypeStringloại nội dung (mặc định là 'application/x-www-form-urlcoded'). Một ví dụ khác về loại nội dung là "ứng dụng/xml; bộ ký tự=utf-8".
headersObjectbản đồ khoá/giá trị JavaScript của 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ột mảng byte, một blob hoặc một đối tượng JavaScript. Đối tượng JavaScript được hiểu là bản đồ liên kết tên trường biểu mẫu với các giá trị, trong đó giá trị có thể là chuỗi hoặc blob.
useIntranetBooleanKhông dùng nữa. Thao tác này hướng dẫn tìm nạp để phân giải URL được chỉ định trong mạng nội bộ đã 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, hoạt động tìm nạp sẽ bỏ qua mọi chứng chỉ không hợp lệ đối với các yêu cầu HTTPS. Giá trị mặc định là true.
followRedirectsBooleanNếu false, hoạt động tìm nạp không tự động theo các lệnh chuyển hướng HTTP mà sẽ trả về phản hồi HTTP ban đầu. Giá trị mặc định là true.
muteHttpExceptionsBooleanNếu true, quá trình tìm nạp sẽ không gửi trường hợp ngoại lệ nếu mã phản hồi cho thấy không thành công mà sẽ trả về HTTPResponse. Giá trị mặc định là false.
escapingBooleanNếu các ký tự dành riêng của false trong URL không được thoát. Giá trị mặc định là true.

Cầu thủ trả bóng

Object — Bản đồ liên kết Tên trường đến giá trị. Bản đồ có ít nhất các khoá sau: url, method, contentType, payloadheaders.

Ủy quyền

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

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