Extraire 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 URL Fetch pour émettre des requêtes HTTP et HTTPS et recevoir des réponses. Le service URL Fetch utilise l'infrastructure réseau de Google pour l'efficacité et la mise à l'échelle.
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 demandes à la liste d'autorisation ou les approuver.
Ce service nécessite le https://www.googleapis.com/auth/script.external_request
le champ d'application. Dans la plupart des cas, Apps Script détecte et inclut automatiquement les champs d'application
mais si vous définissez les portées
explicitement, vous devez ajouter manuellement ce champ d'application pour utiliser UrlFetchApp
.
Voir aussi
Méthodes
Méthode | Type renvoyé | Brève description |
---|---|---|
fetch(url) | HTTPResponse | Envoyer 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. |
fetchAll(requests) | HTTPResponse[] | Envoie plusieurs requêtes pour récupérer plusieurs URL à l'aide de paramètres avancés facultatifs. |
getRequest(url) | Object | Renvoie la requête effectuée si l'opération a été appelée. |
getRequest(url, params) | Object | Renvoie 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.
Cela fonctionne avec HTTP et 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
Nom | Type | Description |
---|---|---|
url | String | URL à extraire. 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 correspondant à 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.
Cela fonctionne avec HTTP et 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
Nom | Type | Description |
---|---|---|
url | String | URL à extraire. 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 |
---|---|---|
contentType | String | le 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 | un mappage clé/valeur JavaScript des en-têtes HTTP pour la requête ; |
method | String | la 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. Certains Les méthodes HTTP (GET, par exemple) n'acceptent pas de charge utile. Il peut s'agir d'une chaîne, d'un tableau d'octets un blob ou un objet JavaScript. Un objet JavaScript est interprété comme un mappage de champs de formulaire. en valeurs, où les valeurs peuvent être des chaînes ou des blobs. |
useIntranet | Boolean | Obsolète. Cela indique à la récupération de résoudre le problème URL de l'intranet liée à votre domaine via SDC (obsolète) |
validateHttpsCertificates | 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 . |
followRedirects | Boolean | Si la valeur est false , la récupération ne se fait pas automatiquement
suivre les redirections HTTP ; il renvoie la réponse HTTP d'origine. La valeur par défaut est true . |
muteHttpExceptions | Boolean | Si la valeur est true , la récupération ne génère pas de
exception si le code de réponse indique un échec, et renvoie à la place HTTPResponse . La valeur par défaut est false . |
escaping | Boolean | Si false caractère réservé dans l'URL n'est pas
échappé. 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 correspondant à 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.
Cela fonctionne avec HTTP et 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
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 | l'URL à récupérer. L'URL peut comporter jusqu'à 2 082 caractères. |
contentType | String | le 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 | un mappage clé/valeur JavaScript des en-têtes HTTP pour la requête ; |
method | String | la 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. Certains Les méthodes HTTP (GET, par exemple) n'acceptent pas de charge utile. Il peut s'agir d'une chaîne, d'un tableau d'octets un blob ou un objet JavaScript. Un objet JavaScript est interprété comme un mappage de champs de formulaire. en valeurs, où les valeurs peuvent être des chaînes ou des blobs. |
useIntranet | Boolean | Obsolète. Cela indique à la récupération de résoudre le problème URL de l'intranet liée à votre domaine via SDC (obsolète) |
validateHttpsCertificates | 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 . |
followRedirects | Boolean | Si la valeur est false , la récupération ne se fait pas automatiquement
suivre les redirections HTTP ; il renvoie la réponse HTTP d'origine. La valeur par défaut est true . |
muteHttpExceptions | Boolean | Si la valeur est true , la récupération ne génère pas de
exception si le code de réponse indique un échec, et renvoie à la place 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é. La valeur par défaut est true . |
Renvois
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 correspondant à 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 réellement 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
Nom | Type | Description |
---|---|---|
url | String | URL à rechercher. L'URL peut comporter jusqu'à 2 082 caractères. |
Renvois
Object
: mappage du nom du champ à une valeur. Le mappage 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 correspondant à 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 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 tels que définis ci-dessous. |
Paramètres avancés
Nom | Type | Description |
---|---|---|
contentType | String | le 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 | un mappage clé/valeur JavaScript des en-têtes HTTP pour la requête ; |
method | String | la 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. Certains Les méthodes HTTP (GET, par exemple) n'acceptent pas de charge utile. Il peut s'agir d'une chaîne, d'un tableau d'octets un blob ou un objet JavaScript. Un objet JavaScript est interprété comme un mappage de champs de formulaire. en valeurs, où les valeurs peuvent être des chaînes ou des blobs. |
useIntranet | Boolean | Obsolète. Cela indique à la récupération de résoudre le problème URL de l'intranet liée à votre domaine via SDC (obsolète) |
validateHttpsCertificates | 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 . |
followRedirects | Boolean | Si la valeur est false , la récupération ne se fait pas automatiquement
suivre les redirections HTTP ; il renvoie la réponse HTTP d'origine. La valeur par défaut est true . |
muteHttpExceptions | Boolean | Si la valeur est true , la récupération ne génère pas de
exception si le code de réponse indique un échec, et renvoie à la place HTTPResponse . La valeur par défaut est false . |
escaping | Boolean | Si false caractères réservés de l'URL ne sont pas
échappé. La valeur par défaut est true . |
Renvois
Object
: mappage du nom du champ à une valeur. Le mappage 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 correspondant à un ou plusieurs des champs d'application suivants:
-
https://www.googleapis.com/auth/script.external_request