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 các URL. Một tập lệnh có thể sử dụng dịch vụ Tìm nạp URL để phát hành HTTP và HTTPS yêu cầu 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 để hiệu quả và mở rộng quy mô.

Các yêu cầu được đưa ra qua dịch vụ này bắt nguồn từ một nhóm dải IP. Bạn có thể tra cứu danh sách đầy đủ các địa chỉ IP nếu bạn cần đưa 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 https://www.googleapis.com/auth/script.external_request phạm vi. 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 đặt phạm vi 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ứcLoại 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 tham số nâng cao tùy chọn.
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)

Đư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());

Tham số

TênLoạiMô tả
urlStringURL cần tìm nạp. URL này có thể dài 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 yêu cầu ủy 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 tham số nâng cao tùy chọn.

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

Tham số

TênLoạiMô tả
urlStringURL cần tìm nạp. URL này có thể dài tối đa 2.082 ký tự.
paramsObjectĐố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; bộ ký tự=utf-8'.
headersObjectbả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à phần nội dung POST) cho yêu cầu. Một số Các 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 blob hoặc đối tượng JavaScript. Đối tượng JavaScript được hiểu là bản đồ của trường biểu mẫu tên thành giá trị, trong đó giá trị có thể là chuỗi hoặc blob.
useIntranetBooleanKhông dùng nữa. Lệnh này hướng dẫn tìm nạp để giải quyết URL 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, quá trình tìm nạp sẽ bỏ qua mọi chứng chỉ không hợp lệ đối với yêu cầu HTTPS. Giá trị mặc định là true.
followRedirectsBooleanNếu false, quá trình tìm nạp không tự động theo các chuyển hướng HTTP; thì hàm này sẽ trả về phản hồi HTTP gốc. Giá trị mặc định là true.
muteHttpExceptionsBooleanNếu true, quá trình tìm nạp sẽ không gửi một ngoại lệ nếu mã phản hồi chỉ ra lỗi và thay vào đó trả về HTTPResponse. Giá trị mặc định là false.
escapingBooleanNếu URL không chứa ký tự đặt trước false đã 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 yêu cầu ủy 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.
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]);

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ư đã 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 này có thể dài 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; bộ ký tự=utf-8'.
headersObjectbả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à phần nội dung POST) cho yêu cầu. Một số Các 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 blob hoặc đối tượng JavaScript. Đối tượng JavaScript được hiểu là bản đồ của trường biểu mẫu tên thành giá trị, trong đó giá trị có thể là chuỗi hoặc blob.
useIntranetBooleanKhông dùng nữa. Lệnh này hướng dẫn tìm nạp để giải quyết URL 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, quá trình tìm nạp sẽ bỏ qua mọi chứng chỉ không hợp lệ đối với yêu cầu HTTPS. Giá trị mặc định là true.
followRedirectsBooleanNếu false, quá trình tìm nạp không tự động theo các chuyển hướng HTTP; thì hàm này sẽ trả về phản hồi HTTP gốc. Giá trị mặc định là true.
muteHttpExceptionsBooleanNếu là true, quá trình tìm nạp sẽ không gửi ngoại lệ nếu mã phản hồi chỉ ra lỗi và thay vào đó trả về HTTPResponse. Giá trị mặc định là false.
escapingBooleanNếu là false, các ký tự dành riêng trong URL sẽ không đã 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 yêu cầu ủy 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.
var response = UrlFetchApp.getRequest("http://www.google.com/");
for(i in response) {
  Logger.log(i + ": " + response[i]);
}

Tham số

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

Cầu thủ trả bóng

Object — Bản đồ liên kết Tên trường với 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 yêu cầu ủy 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 này có thể dài tối đa 2.082 ký tự.
paramsObjectĐố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; bộ ký tự=utf-8'.
headersObjectbả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à phần nội dung POST) cho yêu cầu. Một số Các 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 blob hoặc đối tượng JavaScript. Đối tượng JavaScript được hiểu là bản đồ của trường biểu mẫu tên thành giá trị, trong đó giá trị có thể là chuỗi hoặc blob.
useIntranetBooleanKhông dùng nữa. Lệnh này hướng dẫn tìm nạp để giải quyết URL 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, quá trình tìm nạp sẽ bỏ qua mọi chứng chỉ không hợp lệ đối với yêu cầu HTTPS. Giá trị mặc định là true.
followRedirectsBooleanNếu false, quá trình tìm nạp không tự động theo các chuyển hướng HTTP; thì hàm này sẽ trả về phản hồi HTTP gốc. Giá trị mặc định là true.
muteHttpExceptionsBooleanNếu true, quá trình tìm nạp sẽ không gửi một ngoại lệ nếu mã phản hồi chỉ ra lỗi và thay vào đó trả về HTTPResponse. Giá trị mặc định là false.
escapingBooleanNếu URL không chứa ký tự false đặt trướ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 với 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 yêu cầu ủy quyền với một hoặc nhiều phạm vi sau:

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