Class UrlFetchApp

UrlFetchApp

Récupérez des ressources et communiquez 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 émettre 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 scaling.

Les requêtes effectuées à l'aide de ce service proviennent d'un pool défini de plages d'adresses IP. Vous pouvez consulter la liste complète des adresses IP si vous devez ajouter ces requêtes à la liste d'autorisation ou les approuver.

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 champs d'application dont un script a besoin. Toutefois, si vous définissez explicitement vos champs d'application, vous devez ajouter manuellement ce champ d'application pour utiliser UrlFetchApp.

Voir aussi

Méthodes

MéthodeType renvoyéBrève description
fetch(url)HTTPResponseEnvoie une requête pour récupérer une URL.
fetch(url, params)HTTPResponseEnvoie une requête pour récupérer une URL à l'aide de paramètres avancés facultatifs.
fetchAll(requests)HTTPResponse[]Envoie plusieurs requêtes pour récupérer plusieurs URL à l'aide de paramètres avancés facultatifs.
getRequest(url)ObjectRenvoie la requête effectuée si l'opération a été appelée.
getRequest(url, params)ObjectRenvoie la requête effectuée si l'opération a été appelée.

Documentation détaillée

fetch(url)

Envoie une requête pour récupérer une URL.

Cette méthode fonctionne aussi bien sur HTTP que sur 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());

Paramètres

NomTypeDescription
urlStringURL à récupérer. L'URL peut comporter jusqu'à 2 082 caractères.

Aller-retour

HTTPResponse : données de réponse HTTP.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application 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.

Cette méthode fonctionne aussi bien sur HTTP que sur 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);

Paramètres

NomTypeDescription
urlStringURL à récupérer. L'URL peut comporter jusqu'à 2 082 caractères.
paramsObjectObjet JavaScript facultatif spécifiant les paramètres avancés définis ci-dessous.

Paramètres avancés

NomTypeDescription
contentTypeStringle type de contenu (par défaut, "'application/x-www-form-urlencoded'"). Autre exemple de type de contenu : 'application/xml; charset=utf-8'.
headersObjectun mappage clé/valeur JavaScript d'en-têtes HTTP pour la requête ;
methodStringLa méthode HTTP pour la requête: get, delete, patch, post ou put La valeur par défaut est get.
payloadStringCharge utile (c'est-à-dire le corps POST) de la requête. Certaines méthodes HTTP (par exemple, GET) n'acceptent pas les charges utiles. 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 entre les noms des champs de formulaire et les valeurs, où les valeurs peuvent être des chaînes ou des blobs.
useIntranetBooleanObsolète. Cette méthode demande à l'exploration de résoudre l'URL spécifiée dans l'intranet associé à votre domaine via (obsolète) SDC.
validateHttpsCertificatesBooleanSi 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.
followRedirectsBooleanSi la valeur false est appliquée, la récupération HTTP ne suit pas automatiquement les redirections HTTP. Elle renvoie la réponse HTTP d'origine. La valeur par défaut est true.
muteHttpExceptionsBooleanSi la valeur est true, la récupération ne génère pas d'exception si le code de réponse indique un échec et renvoie HTTPResponse. La valeur par défaut est false.
escapingBooleanSi false caractères réservés dans l'URL ne sont pas échappés. La valeur par défaut est true.

Aller-retour

HTTPResponse : données de réponse HTTP.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application suivants :

  • https://www.googleapis.com/auth/script.external_request

fetchAll(requests)

Envoie plusieurs requêtes pour récupérer plusieurs URL à l'aide de paramètres avancés facultatifs.

Cette méthode fonctionne aussi bien sur HTTP que sur 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]);

Paramètres

NomTypeDescription
requestsObject[]Tableau d'URL ou d'objets JavaScript spécifiant des requêtes, comme défini ci-dessous.

Paramètres avancés

NomTypeDescription
urlStringURL à récupérer. L'URL peut comporter jusqu'à 2 082 caractères.
contentTypeStringle type de contenu (par défaut, "'application/x-www-form-urlencoded'"). Autre exemple de type de contenu : 'application/xml; charset=utf-8'.
headersObjectun mappage clé/valeur JavaScript d'en-têtes HTTP pour la requête ;
methodStringLa méthode HTTP pour la requête : get, delete, patch, post ou put La valeur par défaut est get.
payloadStringCharge utile (c'est-à-dire le corps POST) de la requête. Certaines méthodes HTTP (par exemple, GET) n'acceptent pas les charges utiles. 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 entre les noms des champs de formulaire et les valeurs, où les valeurs peuvent être des chaînes ou des blobs.
useIntranetBooleanObsolète. Cette méthode demande à l'exploration de résoudre l'URL spécifiée dans l'intranet associé à votre domaine via (obsolète) SDC.
validateHttpsCertificatesBooleanSi 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.
followRedirectsBooleanSi la valeur false est appliquée, la récupération HTTP ne suit pas automatiquement les redirections HTTP. Elle renvoie la réponse HTTP d'origine. La valeur par défaut est true.
muteHttpExceptionsBooleanSi la valeur est true, la récupération ne génère pas d'exception si le code de réponse indique un échec. Au lieu de cela, renvoie HTTPResponse. La valeur par défaut est false.
escapingBooleanSi la valeur est false, les caractères réservés dans l'URL ne sont pas échappés. La valeur par défaut est true.

Aller-retour

HTTPResponse[] : tableau de données de réponse HTTP provenant de chaque requête d'entrée.

Autorisation

Les scripts qui utilisent cette méthode nécessitent une autorisation avec un ou plusieurs des champs d'application 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 la requête.

// 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]);
}

Paramètres

NomTypeDescription
urlStringURL à rechercher. L'URL peut comporter jusqu'à 2 082 caractères.

Aller-retour

Object : mappage entre le nom du champ et sa 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 champs d'application suivants :

  • https://www.googleapis.com/auth/script.external_request

getRequest(url, params)

Renvoie la requête effectuée si l'opération a été appelée.

Cette méthode n'émet pas la requête.

Paramètres

NomTypeDescription
urlStringURL à rechercher. L'URL peut comporter jusqu'à 2 082 caractères.
paramsObjectObjet JavaScript facultatif spécifiant les paramètres avancés définis ci-dessous.

Paramètres avancés

NomTypeDescription
contentTypeStringle type de contenu (par défaut, "'application/x-www-form-urlencoded'"). Autre exemple de type de contenu : 'application/xml; charset=utf-8'.
headersObjectun mappage clé/valeur JavaScript d'en-têtes HTTP pour la requête ;
methodStringLa méthode HTTP pour la requête: get, delete, patch, post ou put La valeur par défaut est get.
payloadStringCharge utile (c'est-à-dire le corps POST) de la requête. Certaines méthodes HTTP (par exemple, GET) n'acceptent pas les charges utiles. 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 entre les noms des champs de formulaire et les valeurs, où les valeurs peuvent être des chaînes ou des blobs.
useIntranetBooleanObsolète. Cette méthode demande à l'exploration de résoudre l'URL spécifiée dans l'intranet associé à votre domaine via (obsolète) SDC.
validateHttpsCertificatesBooleanSi 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.
followRedirectsBooleanSi la valeur false est appliquée, la récupération HTTP ne suit pas automatiquement les redirections HTTP. Elle renvoie la réponse HTTP d'origine. La valeur par défaut est true.
muteHttpExceptionsBooleanSi la valeur est true, la récupération ne génère pas d'exception si le code de réponse indique un échec et renvoie HTTPResponse. La valeur par défaut est false.
escapingBooleanSi false caractères réservés dans l'URL ne sont pas échappés. La valeur par défaut est true.

Aller-retour

Object : mappage entre le nom du champ et sa 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 champs d'application suivants:

  • https://www.googleapis.com/auth/script.external_request