Recuperar recursos y comunicarse 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 recuperando URLs. Una secuencia de comandos puede usar el servicio de recuperación de URL para emitir solicitudes HTTP y HTTPS, y recibir respuestas. El servicio de recuperación de URL usa la infraestructura de red de Google para fines de eficiencia y escalabilidad.
Las solicitudes realizadas con este servicio se originan en un grupo establecido de rangos de IP. Puedes consultar la lista completa de direcciones IP si necesitas incluirlas en la lista de entidades permitidas o aprobar estas solicitudes.
Este servicio requiere el alcance de https://www.googleapis.com/auth/script.external_request. En la mayoría de los casos, Apps Script detecta e incluye automáticamente los permisos que necesita un script, pero si configuras tus 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 devuelve | 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. |
fetch | HTTPResponse[] | Realiza varias solicitudes para recuperar varias URLs con parámetros avanzados opcionales. |
get | Object | Devuelve la solicitud que se realiza si se invoca la operación. |
get | Object | Devuelve la solicitud que se realiza si se invoca 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. const response = UrlFetchApp.fetch('http://www.google.com/'); Logger.log(response.getContentText());
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
url | String | Es la URL que se recuperará. La URL puede tener hasta 2,082 caracteres. |
Volver
HTTPResponse: Son los datos de 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. 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);
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
url | String | Es la URL que se recuperará. La URL puede tener hasta 2,082 caracteres. |
params | Object | Objeto JavaScript opcional que especifica parámetros avanzados, como se define a continuación. |
Parámetros avanzados
| Nombre | Tipo | Descripción |
|---|---|---|
content | String | El tipo de contenido (el valor predeterminado es "application/x-www-form-urlencoded"). Otro ejemplo de tipo de contenido es "application/xml; charset=utf-8". |
headers | Object | Un mapa de pares clave-valor de JavaScript de los 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 la solicitud POST) de la solicitud. Ciertos 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 JavaScript se interpreta como un mapa de nombres de campos de formulario a valores, en el que los valores pueden ser cadenas o BLOB. |
use | Boolean | Obsoleta. Esto indica a la recuperación que resuelva la URL especificada dentro de la intranet vinculada a tu dominio a través de SDC (obsoleto). |
validate | Boolean | Si es false, la recuperación ignora los certificados no válidos para las solicitudes HTTPS. El valor predeterminado es true. |
follow | Boolean | Si false, la recuperación no sigue automáticamente los redireccionamientos HTTP, sino que devuelve la respuesta HTTP original. El valor predeterminado es true. |
mute | Boolean | Si true la recuperación no arroja una excepción si el código de respuesta indica una falla, sino que devuelve HTTPResponse. El valor predeterminado es false. |
escaping | Boolean | Si no se escapan los caracteres reservados false en la URL El valor predeterminado es true. |
Volver
HTTPResponse: Son los datos de 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 con parámetros avanzados opcionales.
Esto funciona tanto con HTTP como con 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]);
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
requests | Object[] | Es un array de URLs o de objetos JavaScript que especifican solicitudes, como se define a continuación. |
Parámetros avanzados
| Nombre | Tipo | Descripción |
|---|---|---|
url | String | Es la URL que se recuperará. La URL puede tener hasta 2,082 caracteres. |
content | String | El tipo de contenido (el valor predeterminado es "application/x-www-form-urlencoded"). Otro ejemplo de tipo de contenido es "application/xml; charset=utf-8". |
headers | Object | Un mapa de pares clave-valor de JavaScript de los 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 la solicitud POST) de la solicitud. Ciertos 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 JavaScript se interpreta como un mapa de nombres de campos de formulario a valores, en el que los valores pueden ser cadenas o BLOB. |
use | Boolean | Obsoleta. Esto indica a la recuperación que resuelva la URL especificada dentro de la intranet vinculada a tu dominio a través de SDC (obsoleto). |
validate | Boolean | Si es false, la recuperación ignora los certificados no válidos para las solicitudes HTTPS. El valor predeterminado es true. |
follow | Boolean | Si false, la recuperación no sigue automáticamente los redireccionamientos HTTP, sino que devuelve la respuesta HTTP original. El valor predeterminado es true. |
mute | Boolean | Si es true, la recuperación no arroja una excepción si el código de respuesta indica una falla, sino que devuelve HTTPResponse. El valor predeterminado es false. |
escaping | Boolean | Si es false, no se escaparán los caracteres reservados en la URL. 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)
Devuelve la solicitud que se realiza si se invoca la operación.
Este método no emite la solicitud.
// 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]}`); }
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
url | String | Es la URL que se buscará. La URL puede tener hasta 2,082 caracteres. |
Volver
Object: Es un mapa 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)
Devuelve la solicitud que se realiza si se invoca la operación.
Este método no emite la solicitud.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
url | String | Es la URL que se buscará. La URL puede tener hasta 2,082 caracteres. |
params | Object | Es un objeto JavaScript opcional que especifica parámetros avanzados, como se define a continuación. |
Parámetros avanzados
| Nombre | Tipo | Descripción |
|---|---|---|
content | String | El tipo de contenido (el valor predeterminado es "application/x-www-form-urlencoded"). Otro ejemplo de tipo de contenido es "application/xml; charset=utf-8". |
headers | Object | Un mapa de pares clave-valor de JavaScript de los 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 la solicitud POST) de la solicitud. Ciertos 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 JavaScript se interpreta como un mapa de nombres de campos de formulario a valores, en el que los valores pueden ser cadenas o BLOB. |
use | Boolean | Obsoleta. Esto indica a la recuperación que resuelva la URL especificada dentro de la intranet vinculada a tu dominio a través de SDC (obsoleto). |
validate | Boolean | Si es false, la recuperación ignora los certificados no válidos para las solicitudes HTTPS. El valor predeterminado es true. |
follow | Boolean | Si false, la recuperación no sigue automáticamente los redireccionamientos HTTP, sino que devuelve la respuesta HTTP original. El valor predeterminado es true. |
mute | Boolean | Si true la recuperación no arroja una excepción si el código de respuesta indica una falla, sino que devuelve HTTPResponse. El valor predeterminado es false. |
escaping | Boolean | Si no se escaparon los caracteres reservados false en la URL El valor predeterminado es true. |
Volver
Object: Es un mapa 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