Class UrlFetchApp

УрлФетчапп

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

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

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

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

Смотрите также

Методы

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

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

fetch(url)

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

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

Параметры

Имя Тип Описание
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.
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);

Параметры

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

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

Имя Тип Описание
contentType 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 интерпретируется как сопоставление имен полей формы со значениями, где значения могут быть либо строками, либо большими двоичными объектами.
useIntranet Boolean Устарело. Это указывает команде fetch разрешить указанный URL-адрес в интрасети, связанной с вашим доменом через (устаревший) SDC.
validateHttpsCertificates Boolean Если значение false при выборке игнорируются все недействительные сертификаты для запросов HTTPS. По умолчанию установлено значение true .
followRedirects Boolean Если значение false выборка не следует автоматически за перенаправлениями HTTP; он возвращает исходный ответ HTTP. По умолчанию установлено значение true .
muteHttpExceptions Boolean Если true выборка не генерирует исключение, если код ответа указывает на сбой, а вместо этого возвращает HTTPResponse . По умолчанию установлено значение false .
escaping Boolean Если false зарезервированные символы в URL-адресе не экранированы. По умолчанию установлено значение true .

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

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

Авторизация

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

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

fetchAll(requests)

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

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

Параметры

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

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

Имя Тип Описание
url String URL-адрес для получения. URL-адрес может содержать до 2082 символов.
contentType 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 интерпретируется как сопоставление имен полей формы со значениями, где значения могут быть либо строками, либо большими двоичными объектами.
useIntranet Boolean Устарело. Это указывает команде fetch разрешить указанный URL-адрес в интрасети, связанной с вашим доменом через (устаревший) SDC.
validateHttpsCertificates Boolean Если значение false при выборке игнорируются все недействительные сертификаты для запросов HTTPS. По умолчанию установлено значение true .
followRedirects Boolean Если значение false выборка не следует автоматически за перенаправлениями HTTP; он возвращает исходный ответ HTTP. По умолчанию установлено значение true .
muteHttpExceptions Boolean Если true , выборка не генерирует исключение, если код ответа указывает на сбой, а вместо этого возвращает HTTPResponse . По умолчанию установлено значение false .
escaping Boolean Если false , зарезервированные символы в URL-адресе не экранируются. По умолчанию установлено значение true .

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

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

Авторизация

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

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

getRequest(url)

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

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

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

Параметры

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

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

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

Авторизация

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

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

getRequest(url, params)

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

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

Параметры

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

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

Имя Тип Описание
contentType 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 интерпретируется как сопоставление имен полей формы со значениями, где значения могут быть либо строками, либо большими двоичными объектами.
useIntranet Boolean Устарело. Это указывает команде fetch разрешить указанный URL-адрес в интрасети, связанной с вашим доменом через (устаревший) SDC.
validateHttpsCertificates Boolean Если значение false при выборке игнорируются все недействительные сертификаты для запросов HTTPS. По умолчанию установлено значение true .
followRedirects Boolean Если значение false выборка не следует автоматически за перенаправлениями HTTP; он возвращает исходный ответ HTTP. По умолчанию установлено значение true .
muteHttpExceptions Boolean Если true то выборка не генерирует исключение, если код ответа указывает на сбой, а вместо этого возвращает HTTPResponse . По умолчанию установлено значение false .
escaping Boolean Если false зарезервированные символы в URL-адресе не экранируются. По умолчанию установлено значение true .

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

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

Авторизация

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

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