Obtén recursos y comunícate con otros hosts a través de Internet.
Este servicio permite que las secuencias de comandos se comuniquen con otras aplicaciones o accedan a otros recursos en la Web mediante la recuperación de URLs. Una secuencia de comandos puede usar el servicio de recuperación de URL para emitir HTTP y HTTPS y recibir respuestas. El servicio de recuperación de URL usa la infraestructura de red de Google para con fines de eficiencia y escalamiento.
Las solicitudes realizadas con este servicio se originan en un grupo establecido de rangos de IP. Puedes buscar la lista completa de direcciones IP si debes aprobarlas o incluirlas en la lista de entidades permitidas.
Este servicio requiere la https://www.googleapis.com/auth/script.external_request
del proyecto. En la mayoría de los casos, Apps Script detecta e incluye automáticamente los alcances que necesita una secuencia de comandos.
pero si configuras los permisos
de forma explícita, debes agregar este permiso de forma manual para usar UrlFetchApp
.
Consulta también
Métodos
Método | Tipo de datos que se muestra | Descripción breve |
---|---|---|
fetch(url) | HTTPResponse | Realiza una solicitud para recuperar una URL. |
fetch(url, params) | HTTPResponse | Realiza una solicitud para recuperar una URL con parámetros avanzados opcionales. |
fetchAll(requests) | HTTPResponse[] | Realiza varias solicitudes para recuperar varias URLs usando parámetros avanzados opcionales. |
getRequest(url) | Object | Muestra la solicitud que se realiza si se invocó la operación. |
getRequest(url, params) | Object | Muestra la solicitud que se realiza si se invocó la operación. |
Documentación detallada
fetch(url)
Realiza una solicitud para recuperar una URL.
Esto funciona tanto con HTTP como con 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());
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
url | String | La URL que se recuperará. La URL puede tener hasta 2,082 caracteres. |
Volver
HTTPResponse
: Son los datos de la respuesta HTTP.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/script.external_request
fetch(url, params)
Realiza una solicitud para recuperar una URL con parámetros avanzados opcionales.
Esto funciona tanto con HTTP como con 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);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
url | String | La URL que se recuperará. La URL puede tener hasta 2,082 caracteres. |
params | Object | El objeto JavaScript opcional que especifica los parámetros avanzados, como se define a continuación. |
Parámetros avanzados
Nombre | Tipo | Descripción |
---|---|---|
contentType | String | el tipo de contenido (de forma predeterminada, 'application/x-www-form-urlencoded'). Otro ejemplo de tipo de contenido es “application/xml; charset=utf-8'. |
headers | Object | un mapa de par clave-valor de JavaScript de encabezados HTTP para la solicitud |
method | String | el método HTTP para la solicitud: get , delete
patch , post o put . El valor predeterminado es get . |
payload | String | la carga útil (es decir, el cuerpo de POST) de la solicitud. Cierto Los métodos HTTP (por ejemplo, GET) no aceptan una carga útil. Puede ser una cadena, un array de bytes, un BLOB o un objeto de JavaScript. Un objeto de JavaScript se interpreta como un mapa de campo de formulario nombres a valores, en los que los valores pueden ser cadenas o BLOB. |
useIntranet | Boolean | Obsoleta. Esta acción le indica a la recuperación que resuelva el problema URL en la intranet vinculada a tu dominio a través de SDC (obsoleto) |
validateHttpsCertificates | Boolean | Si es false , la recuperación ignora alguna
certificados no válidos para solicitudes HTTPS. El valor predeterminado es true . |
followRedirects | Boolean | Si es false , la recuperación no se actualiza
seguir redireccionamientos HTTP; devuelve la respuesta HTTP original. El valor predeterminado es true . |
muteHttpExceptions | Boolean | Si es true , la recuperación no arroja una
si el código de respuesta indica un error y, en su lugar, muestra el HTTPResponse . El valor predeterminado es false . |
escaping | Boolean | Si false caracteres reservados en la URL no son
con escape. El valor predeterminado es true . |
Volver
HTTPResponse
: Son los datos de la respuesta HTTP.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/script.external_request
fetchAll(requests)
Realiza varias solicitudes para recuperar varias URLs usando parámetros avanzados opcionales.
Esto funciona tanto con HTTP como con 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]);
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
requests | Object[] | Un array de objetos JavaScript o URLs que especifican las solicitudes como se definen a continuación. |
Parámetros avanzados
Nombre | Tipo | Descripción |
---|---|---|
url | String | la URL que se recuperará. La URL puede tener hasta 2,082 caracteres. |
contentType | String | el tipo de contenido (de forma predeterminada, 'application/x-www-form-urlencoded'). Otro ejemplo de tipo de contenido es “application/xml; charset=utf-8'. |
headers | Object | un mapa de par clave-valor de JavaScript de encabezados HTTP para la solicitud |
method | String | el método HTTP para la solicitud: get , delete
patch , post o put . El valor predeterminado es get . |
payload | String | la carga útil (es decir, el cuerpo de POST) de la solicitud. Cierto Los métodos HTTP (por ejemplo, GET) no aceptan una carga útil. Puede ser una cadena, un array de bytes, un BLOB o un objeto de JavaScript. Un objeto de JavaScript se interpreta como un mapa de campo de formulario nombres a valores, en los que los valores pueden ser cadenas o BLOB. |
useIntranet | Boolean | Obsoleta. Esta acción le indica a la recuperación que resuelva el problema URL en la intranet vinculada a tu dominio a través de SDC (obsoleto) |
validateHttpsCertificates | Boolean | Si es false , la recuperación ignora alguna
certificados no válidos para solicitudes HTTPS. El valor predeterminado es true . |
followRedirects | Boolean | Si es false , la recuperación no se actualiza
seguir redireccionamientos HTTP; devuelve la respuesta HTTP original. El valor predeterminado es true . |
muteHttpExceptions | Boolean | Si es true , la recuperación no arroja una
si el código de respuesta indica un error y, en su lugar, muestra el HTTPResponse . El valor predeterminado es false . |
escaping | Boolean | Si es false , los caracteres reservados en la URL no se muestran
con escape. El valor predeterminado es true . |
Volver
HTTPResponse[]
: Es un array de datos de respuesta HTTP de cada solicitud de entrada.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url)
Muestra la solicitud que se realiza si se invocó la operación.
En realidad, este método no emite la solicitud.
// 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]); }
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
url | String | La URL que se debe buscar. La URL puede tener hasta 2,082 caracteres. |
Volver
Object
: Es una asignación del nombre del campo al valor. El mapa tiene, al menos, las siguientes claves: url
,
method
, contentType
, payload
y headers
.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url, params)
Muestra la solicitud que se realiza si se invocó la operación.
En realidad, este método no emite la solicitud.
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
url | String | La URL que se debe buscar. La URL puede tener hasta 2,082 caracteres. |
params | Object | Un objeto JavaScript opcional que especifica los parámetros avanzados, como se define a continuación. |
Parámetros avanzados
Nombre | Tipo | Descripción |
---|---|---|
contentType | String | el tipo de contenido (de forma predeterminada, 'application/x-www-form-urlencoded'). Otro ejemplo de tipo de contenido es “application/xml; charset=utf-8'. |
headers | Object | un mapa de par clave-valor de JavaScript de encabezados HTTP para la solicitud |
method | String | el método HTTP para la solicitud: get , delete
patch , post o put . El valor predeterminado es get . |
payload | String | la carga útil (es decir, el cuerpo de POST) de la solicitud. Cierto Los métodos HTTP (por ejemplo, GET) no aceptan una carga útil. Puede ser una cadena, un array de bytes, un BLOB o un objeto de JavaScript. Un objeto de JavaScript se interpreta como un mapa de campo de formulario nombres a valores, en los que los valores pueden ser cadenas o BLOB. |
useIntranet | Boolean | Obsoleta. Esta acción le indica a la recuperación que resuelva el problema URL en la intranet vinculada a tu dominio a través de SDC (obsoleto) |
validateHttpsCertificates | Boolean | Si es false , la recuperación ignora alguna
certificados no válidos para solicitudes HTTPS. El valor predeterminado es true . |
followRedirects | Boolean | Si es false , la recuperación no se actualiza
seguir redireccionamientos HTTP; devuelve la respuesta HTTP original. El valor predeterminado es true . |
muteHttpExceptions | Boolean | Si es true , la recuperación no arroja una
si el código de respuesta indica un error y, en su lugar, muestra el HTTPResponse . El valor predeterminado es false . |
escaping | Boolean | Si false caracteres reservados en la URL no se
con escape. El valor predeterminado es true . |
Volver
Object
: Es una asignación del nombre del campo al valor. El mapa tiene, al menos, las siguientes claves: url
,
method
, contentType
, payload
y headers
.
Autorización
Las secuencias de comandos que usan este método requieren autorización con uno o más de los siguientes alcances:
-
https://www.googleapis.com/auth/script.external_request