Class UrlFetchApp

Приложение для получения URL-адресов

Получайте ресурсы и общайтесь с другими хостами через Интернет.

Эта служба позволяет сценариям взаимодействовать с другими приложениями или получать доступ к другим ресурсам в Интернете путем получения URL-адресов. Сценарий может использовать службу URL-Fetch для отправки запросов HTTP и HTTPS и получения ответов. Служба URL Fetch использует сетевую инфраструктуру Google для повышения эффективности и масштабирования.

Запросы, сделанные с использованием этой службы, исходят из заданного пула диапазонов IP-адресов. Вы можете просмотреть полный список IP-адресов, если вам нужно внести в белый список или одобрить эти запросы.

Для этой службы требуется область https://www.googleapis.com/auth/script.external_request . В большинстве случаев Apps Script автоматически обнаруживает и включает области, необходимые сценарию, но если вы задаете области явно, вам придется вручную добавить эту область, чтобы использовать Url Fetch App .

См. также

Методы

Метод Тип возврата Краткое описание
fetch(url) HTTPResponse Делает запрос на получение URL-адреса.
fetch(url, params) HTTPResponse Делает запрос на получение URL-адреса, используя дополнительные дополнительные параметры.
fetch All(requests) HTTPResponse[] Делает несколько запросов для получения нескольких URL-адресов, используя дополнительные дополнительные параметры.
get Request(url) Object Возвращает запрос, который был сделан, если операция была вызвана.
get Request(url, params) Object Возвращает запрос, который был выполнен, если была вызвана операция.

Подробная документация

fetch(url)

Делает запрос на получение URL-адреса.

Это работает как через HTTP, так и через 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());

Параметры

Имя Тип Описание
url String URL-адрес для получения. URL-адрес может содержать до 2082 символов.

Возвращаться

HTTPResponse — данные ответа HTTP.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

fetch(url, params)

Делает запрос на получение URL-адреса, используя дополнительные дополнительные параметры.

Это работает как через HTTP, так и через 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);

Параметры

Имя Тип Описание
url String URL-адрес для получения. URL-адрес может содержать до 2082 символов.
params Object Необязательный объект JavaScript, задающий дополнительные параметры, как определено ниже.

Расширенные параметры

Имя Тип Описание
content Type String тип контента (по умолчанию — «application/x-www-form-urlencoded»). Другой пример типа контента — «application/xml; набор символов = utf-8'.
headers Object карта ключей/значений JavaScript заголовков HTTP для запроса
method String HTTP-метод запроса: get , delete , patch , post или put . По умолчанию — get .
payload String полезные данные (то есть тело POST) запроса. Некоторые методы HTTP (например, GET) не принимают полезную нагрузку. Это может быть строка, массив байтов, большой двоичный объект или объект JavaScript. Объект JavaScript интерпретируется как сопоставление имен полей формы со значениями, где значения могут быть либо строками, либо большими двоичными объектами.
use Intranet Boolean Устарело. Это указывает команде fetch разрешить указанный URL-адрес в интрасети, связанной с вашим доменом через (устаревший) SDC.
validate Https Certificates Boolean Если значение false при выборке игнорируются все недействительные сертификаты для запросов HTTPS. По умолчанию установлено значение true .
follow Redirects Boolean Если значение false выборка не следует автоматически за перенаправлениями HTTP; он возвращает исходный ответ HTTP. По умолчанию установлено значение true .
mute Http Exceptions Boolean Если true то выборка не генерирует исключение, если код ответа указывает на сбой, а вместо этого возвращает HTTPResponse . По умолчанию установлено значение false .
escaping Boolean Если false зарезервированные символы в URL-адресе не экранированы. По умолчанию установлено значение true .

Возвращаться

HTTPResponse — данные ответа HTTP.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

fetch All(requests)

Делает несколько запросов для получения нескольких URL-адресов, используя дополнительные дополнительные параметры.

Это работает как через HTTP, так и через 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]);

Параметры

Имя Тип Описание
requests Object[] Массив URL-адресов или объектов JavaScript, определяющих запросы, как определено ниже.

Расширенные параметры

Имя Тип Описание
url String URL-адрес для получения. URL-адрес может содержать до 2082 символов.
content Type String тип контента (по умолчанию — «application/x-www-form-urlencoded»). Другой пример типа контента — «application/xml; набор символов = utf-8'.
headers Object карта ключей/значений JavaScript заголовков HTTP для запроса
method String HTTP-метод запроса: get , delete , patch , post или put . По умолчанию — get .
payload String полезные данные (то есть тело POST) запроса. Некоторые методы HTTP (например, GET) не принимают полезную нагрузку. Это может быть строка, массив байтов, большой двоичный объект или объект JavaScript. Объект JavaScript интерпретируется как сопоставление имен полей формы со значениями, где значения могут быть либо строками, либо большими двоичными объектами.
use Intranet Boolean Устарело. Это указывает команде fetch разрешить указанный URL-адрес в интрасети, связанной с вашим доменом через (устаревший) SDC.
validate Https Certificates Boolean Если значение false при выборке игнорируются все недействительные сертификаты для запросов HTTPS. По умолчанию установлено значение true .
follow Redirects Boolean Если значение false выборка не следует автоматически за перенаправлениями HTTP; он возвращает исходный ответ HTTP. По умолчанию установлено значение true .
mute Http Exceptions Boolean Если true , выборка не генерирует исключение, если код ответа указывает на сбой, а вместо этого возвращает HTTPResponse . По умолчанию установлено значение false .
escaping Boolean Если false , зарезервированные символы в URL-адресе не экранируются. По умолчанию установлено значение true .

Возвращаться

HTTPResponse[] — Массив данных HTTP-ответа для каждого входного запроса.

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

get Request(url)

Возвращает запрос, который был сделан, если операция была вызвана.

Этот метод фактически не выдает запрос.

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

Параметры

Имя Тип Описание
url String URL-адрес для поиска. URL-адрес может содержать до 2082 символов.

Возвращаться

Object — сопоставление имени поля со значением. Карта имеет как минимум следующие ключи: url , method , content Type , payload и headers .

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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

get Request(url, params)

Возвращает запрос, который был выполнен, если была вызвана операция.

Этот метод фактически не выдает запрос.

Параметры

Имя Тип Описание
url String URL-адрес для поиска. URL-адрес может содержать до 2082 символов.
params Object Необязательный объект JavaScript, задающий дополнительные параметры, как определено ниже.

Расширенные параметры

Имя Тип Описание
content Type String тип контента (по умолчанию — «application/x-www-form-urlencoded»). Другой пример типа контента — «application/xml; набор символов = utf-8'.
headers Object карта ключей/значений JavaScript заголовков HTTP для запроса
method String HTTP-метод запроса: get , delete , patch , post или put . По умолчанию — get .
payload String полезные данные (то есть тело POST) запроса. Некоторые методы HTTP (например, GET) не принимают полезную нагрузку. Это может быть строка, массив байтов, большой двоичный объект или объект JavaScript. Объект JavaScript интерпретируется как сопоставление имен полей формы со значениями, где значения могут быть либо строками, либо большими двоичными объектами.
use Intranet Boolean Устарело. Это указывает команде fetch разрешить указанный URL-адрес в интрасети, связанной с вашим доменом через (устаревший) SDC.
validate Https Certificates Boolean Если значение false при выборке игнорируются все недействительные сертификаты для запросов HTTPS. По умолчанию установлено значение true .
follow Redirects Boolean Если значение false выборка не следует автоматически за перенаправлениями HTTP; он возвращает исходный ответ HTTP. По умолчанию установлено значение true .
mute Http Exceptions Boolean Если true то выборка не генерирует исключение, если код ответа указывает на сбой, а вместо этого возвращает HTTPResponse . По умолчанию установлено значение false .
escaping Boolean Если false зарезервированные символы в URL-адресе не экранируются. По умолчанию установлено значение true .

Возвращаться

Object — сопоставление имени поля со значением. Карта имеет как минимум следующие ключи: url , method , content Type , payload и headers .

Авторизация

Сценарии, использующие этот метод, требуют авторизации с одной или несколькими из следующих областей :

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