Récupérer des ressources et communiquer avec d'autres hôtes sur Internet
Ce service permet aux scripts de communiquer avec d'autres applications ou d'accéder à d'autres ressources sur le Web en récupérant des URL. Un script peut utiliser le service de récupération d'URL pour envoyer des requêtes HTTP et HTTPS, et recevoir des réponses. Le service de récupération d'URL utilise l'infrastructure réseau de Google à des fins d'efficacité et de mise à l'échelle.
Les requêtes effectuées à l'aide de ce service proviennent d'un pool fixe de plages d'adresses IP. Vous pouvez consulter la liste complète des adresses IP si vous devez les ajouter à la liste d'autorisation ou approuver ces demandes.
Ce service nécessite le champ d'application https://www.googleapis.com/auth/script.external_request. Dans la plupart des cas, Apps Script détecte et inclut automatiquement les autorisations dont un script a besoin. Toutefois, si vous définissez explicitement vos autorisations, vous devez ajouter manuellement cette autorisation pour utiliser UrlFetchApp.
Voir aussi
Méthodes
| Méthode | Type renvoyé | Brève description |
|---|---|---|
fetch(url) | HTTPResponse | Envoie une requête pour récupérer une URL. |
fetch(url, params) | HTTPResponse | Envoie une requête pour récupérer une URL à l'aide de paramètres avancés facultatifs. |
fetch | HTTPResponse[] | Effectue plusieurs requêtes pour récupérer plusieurs URL à l'aide de paramètres avancés facultatifs. |
get | Object | Renvoie la requête effectuée si l'opération a été appelée. |
get | Object | Renvoie la requête effectuée si l'opération était appelée. |
Documentation détaillée
fetch(url)
Envoie une requête pour récupérer une URL.
Cela fonctionne aussi bien avec HTTP qu'avec 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());
Paramètres
| Nom | Type | Description |
|---|---|---|
url | String | URL à récupérer. L'URL peut comporter jusqu'à 2 082 caractères. |
Renvois
HTTPResponse : données de réponse HTTP.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/script.external_request
fetch(url, params)
Envoie une requête pour récupérer une URL à l'aide de paramètres avancés facultatifs.
Cela fonctionne aussi bien avec HTTP qu'avec 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);
Paramètres
| Nom | Type | Description |
|---|---|---|
url | String | URL à récupérer. L'URL peut comporter jusqu'à 2 082 caractères. |
params | Object | Objet JavaScript facultatif spécifiant les paramètres avancés, tels que définis ci-dessous. |
Paramètres avancés
| Nom | Type | Description |
|---|---|---|
content | String | Type de contenu (par défaut, "application/x-www-form-urlencoded"). Un autre exemple de type de contenu est "application/xml; charset=utf-8". |
headers | Object | Mappage clé/valeur JavaScript des en-têtes HTTP pour la requête |
method | String | Méthode HTTP de la requête : get, delete, patch, post ou put. La valeur par défaut est get. |
payload | String | la charge utile (c'est-à-dire le corps POST) de la requête. Certaines méthodes HTTP (par exemple, GET) n'acceptent pas de charge utile. Il peut s'agir d'une chaîne, d'un tableau d'octets, d'un blob ou d'un objet JavaScript. Un objet JavaScript est interprété comme un mappage des noms de champs de formulaire sur des valeurs, où les valeurs peuvent être des chaînes ou des blobs. |
use | Boolean | Obsolète. Cette instruction indique à Fetch de résoudre l'URL spécifiée dans l'intranet associé à votre domaine via SDC (obsolète). |
validate | Boolean | Si la valeur est false, la récupération ignore les certificats non valides pour les requêtes HTTPS. La valeur par défaut est true. |
follow | Boolean | Si false, la récupération ne suit pas automatiquement les redirections HTTP. Elle renvoie la réponse HTTP d'origine. La valeur par défaut est true. |
mute | Boolean | Si true la récupération ne génère pas d'exception si le code de réponse indique un échec, elle renvoie plutôt HTTPResponse. La valeur par défaut est false. |
escaping | Boolean | Si les caractères réservés false de l'URL ne sont pas échappés. La valeur par défaut est true. |
Renvois
HTTPResponse : données de réponse HTTP.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/script.external_request
fetchAll(requests)
Effectue plusieurs requêtes pour récupérer plusieurs URL à l'aide de paramètres avancés facultatifs.
Cela fonctionne aussi bien avec HTTP qu'avec 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]);
Paramètres
| Nom | Type | Description |
|---|---|---|
requests | Object[] | Tableau d'URL ou d'objets JavaScript spécifiant les requêtes telles que définies ci-dessous. |
Paramètres avancés
| Nom | Type | Description |
|---|---|---|
url | String | URL à récupérer. L'URL peut comporter jusqu'à 2 082 caractères. |
content | String | Type de contenu (par défaut, "application/x-www-form-urlencoded"). Un autre exemple de type de contenu est "application/xml; charset=utf-8". |
headers | Object | Mappage clé/valeur JavaScript des en-têtes HTTP pour la requête |
method | String | Méthode HTTP de la requête : get, delete, patch, post ou put. La valeur par défaut est get. |
payload | String | la charge utile (c'est-à-dire le corps POST) de la requête. Certaines méthodes HTTP (par exemple, GET) n'acceptent pas de charge utile. Il peut s'agir d'une chaîne, d'un tableau d'octets, d'un blob ou d'un objet JavaScript. Un objet JavaScript est interprété comme un mappage des noms de champs de formulaire sur des valeurs, où les valeurs peuvent être des chaînes ou des blobs. |
use | Boolean | Obsolète. Cette instruction indique à Fetch de résoudre l'URL spécifiée dans l'intranet associé à votre domaine via SDC (obsolète). |
validate | Boolean | Si la valeur est false, la récupération ignore les certificats non valides pour les requêtes HTTPS. La valeur par défaut est true. |
follow | Boolean | Si false, la récupération ne suit pas automatiquement les redirections HTTP. Elle renvoie la réponse HTTP d'origine. La valeur par défaut est true. |
mute | Boolean | Si la valeur est true, la récupération ne génère pas d'exception si le code de réponse indique un échec, mais renvoie plutôt HTTPResponse. La valeur par défaut est false. |
escaping | Boolean | Si la valeur est false, les caractères réservés de l'URL ne sont pas échappés. La valeur par défaut est true. |
Renvois
HTTPResponse[] : tableau de données de réponse HTTP pour chaque requête d'entrée.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/script.external_request
getRequest(url)
Renvoie la requête effectuée si l'opération a été appelée.
Cette méthode n'émet pas réellement la requête.
// 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]}`); }
Paramètres
| Nom | Type | Description |
|---|---|---|
url | String | URL à rechercher. L'URL peut comporter jusqu'à 2 082 caractères. |
Renvois
Object : mappage du nom du champ à la valeur. La carte comporte au moins les clés suivantes : url, method, contentType, payload et headers.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/script.external_request
getRequest(url, params)
Renvoie la requête effectuée si l'opération était appelée.
Cette méthode n'émet pas réellement la requête.
Paramètres
| Nom | Type | Description |
|---|---|---|
url | String | URL à rechercher. L'URL peut comporter jusqu'à 2 082 caractères. |
params | Object | Objet JavaScript facultatif spécifiant les paramètres avancés définis ci-dessous. |
Paramètres avancés
| Nom | Type | Description |
|---|---|---|
content | String | Type de contenu (par défaut, "application/x-www-form-urlencoded"). Un autre exemple de type de contenu est "application/xml; charset=utf-8". |
headers | Object | Mappage clé/valeur JavaScript des en-têtes HTTP pour la requête |
method | String | Méthode HTTP de la requête : get, delete, patch, post ou put. La valeur par défaut est get. |
payload | String | la charge utile (c'est-à-dire le corps POST) de la requête. Certaines méthodes HTTP (par exemple, GET) n'acceptent pas de charge utile. Il peut s'agir d'une chaîne, d'un tableau d'octets, d'un blob ou d'un objet JavaScript. Un objet JavaScript est interprété comme un mappage des noms de champs de formulaire sur des valeurs, où les valeurs peuvent être des chaînes ou des blobs. |
use | Boolean | Obsolète. Cette instruction indique à Fetch de résoudre l'URL spécifiée dans l'intranet associé à votre domaine via SDC (obsolète). |
validate | Boolean | Si la valeur est false, la récupération ignore les certificats non valides pour les requêtes HTTPS. La valeur par défaut est true. |
follow | Boolean | Si false, la récupération ne suit pas automatiquement les redirections HTTP. Elle renvoie la réponse HTTP d'origine. La valeur par défaut est true. |
mute | Boolean | Si true la récupération ne génère pas d'exception si le code de réponse indique un échec, elle renvoie plutôt HTTPResponse. La valeur par défaut est false. |
escaping | Boolean | Si les caractères réservés false de l'URL ne sont pas échappés. La valeur par défaut est true. |
Renvois
Object : mappage du nom du champ à la valeur. La carte comporte au moins les clés suivantes : url, method, contentType, payload et headers.
Autorisation
Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des scopes suivants :
-
https://www.googleapis.com/auth/script.external_request