Получайте ресурсы и общайтесь с другими хостами через Интернет.
Эта служба позволяет сценариям взаимодействовать с другими приложениями или получать доступ к другим ресурсам в Интернете путем получения 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