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