Recupera risorse e comunica con altri host su internet.
Questo servizio consente agli script di comunicare con altre applicazioni o accedere ad altre risorse sul web recuperando gli URL. Uno script può utilizzare il servizio di recupero URL per emettere HTTP e HTTPS richieste e ricevono risposte. Il servizio di recupero URL utilizza l'infrastruttura di rete di Google per di efficienza e scalabilità.
Le richieste effettuate utilizzando questo servizio provengono da un pool prefissato di intervalli IP. Puoi cercare l'elenco completo degli indirizzi IP se devi autorizzare o approvare queste richieste.
Questo servizio richiede https://www.googleapis.com/auth/script.external_request
l'ambito di attività. Nella maggior parte dei casi, Apps Script rileva e include automaticamente gli ambiti necessari per uno script,
ma se imposti gli ambiti
esplicitamente devi aggiungere manualmente questo ambito per utilizzare UrlFetchApp
.
Vedi anche
Metodi
Metodo | Tipo restituito | Breve descrizione |
---|---|---|
fetch(url) | HTTPResponse | Effettua una richiesta di recupero di un URL. |
fetch(url, params) | HTTPResponse | Effettua una richiesta per recuperare un URL utilizzando parametri avanzati facoltativi. |
fetchAll(requests) | HTTPResponse[] | Effettua più richieste per recuperare più URL utilizzando parametri avanzati facoltativi. |
getRequest(url) | Object | Restituisce la richiesta effettuata se l'operazione è stata richiamata. |
getRequest(url, params) | Object | Restituisce la richiesta effettuata se l'operazione è stata richiamata. |
Documentazione dettagliata
fetch(url)
Effettua una richiesta di recupero di un URL.
Questa opzione funziona sia su HTTP che su 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());
Parametri
Nome | Tipo | Descrizione |
---|---|---|
url | String | L'URL da recuperare. L'URL può contenere fino a 2082 caratteri. |
Invio
HTTPResponse
: i dati della risposta HTTP.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/script.external_request
fetch(url, params)
Effettua una richiesta per recuperare un URL utilizzando parametri avanzati facoltativi.
Questa opzione funziona sia su HTTP che su 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);
Parametri
Nome | Tipo | Descrizione |
---|---|---|
url | String | L'URL da recuperare. L'URL può contenere fino a 2082 caratteri. |
params | Object | L'oggetto JavaScript facoltativo che specifica i parametri avanzati come definito di seguito. |
Parametri avanzati
Nome | Tipo | Descrizione |
---|---|---|
contentType | String | il tipo di contenuti (per impostazione predefinita 'application/x-www-form-urlencoded'). Un altro esempio di tipo di contenuto è "application/xml; charset=utf-8'. |
headers | Object | una mappa chiave/valore JavaScript di intestazioni HTTP per la richiesta |
method | String | metodo HTTP per la richiesta: get , delete ,
patch , post o put . Il valore predefinito è get . |
payload | String | il payload (ovvero il corpo del POST) per la richiesta. Determinati I metodi HTTP (ad esempio, GET) non accettano un payload. Può essere una stringa, un array di byte un blob o un oggetto JavaScript. Un oggetto JavaScript viene interpretato come una mappa del campo del modulo i nomi ai valori, dove i valori possono essere stringhe o BLOB. |
useIntranet | Boolean | Deprecato. Questo indica al recupero di risolvere URL all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecato) |
validateHttpsCertificates | Boolean | Se false il recupero ignora una qualsiasi
certificati non validi per richieste HTTPS. Il valore predefinito è true . |
followRedirects | Boolean | Se false il recupero non viene eseguito automaticamente
seguono reindirizzamenti HTTP; restituisce la risposta HTTP originale. Il valore predefinito è true . |
muteHttpExceptions | Boolean | Se true il recupero non genera un
se il codice di risposta indica un errore e restituisce invece HTTPResponse . Il valore predefinito è false . |
escaping | Boolean | Se nell'URL false caratteri riservati non vengono
con caratteri di escape. Il valore predefinito è true . |
Invio
HTTPResponse
: i dati della risposta HTTP.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/script.external_request
fetchAll(requests)
Effettua più richieste per recuperare più URL utilizzando parametri avanzati facoltativi.
Questa opzione funziona sia su HTTP che su 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]);
Parametri
Nome | Tipo | Descrizione |
---|---|---|
requests | Object[] | Un array di URL o oggetti JavaScript che specifica le richieste come definito di seguito. |
Parametri avanzati
Nome | Tipo | Descrizione |
---|---|---|
url | String | l'URL da recuperare. L'URL può contenere fino a 2082 caratteri. |
contentType | String | il tipo di contenuti (per impostazione predefinita 'application/x-www-form-urlencoded'). Un altro esempio di tipo di contenuto è "application/xml; charset=utf-8'. |
headers | Object | una mappa chiave/valore JavaScript di intestazioni HTTP per la richiesta |
method | String | metodo HTTP per la richiesta: get , delete ,
patch , post o put . Il valore predefinito è get . |
payload | String | il payload (ovvero il corpo del POST) per la richiesta. Determinati I metodi HTTP (ad esempio, GET) non accettano un payload. Può essere una stringa, un array di byte un blob o un oggetto JavaScript. Un oggetto JavaScript viene interpretato come una mappa del campo del modulo i nomi ai valori, dove i valori possono essere stringhe o BLOB. |
useIntranet | Boolean | Deprecato. Questo indica al recupero di risolvere URL all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecato) |
validateHttpsCertificates | Boolean | Se false il recupero ignora una qualsiasi
certificati non validi per richieste HTTPS. Il valore predefinito è true . |
followRedirects | Boolean | Se false il recupero non viene eseguito automaticamente
seguono reindirizzamenti HTTP; restituisce la risposta HTTP originale. Il valore predefinito è true . |
muteHttpExceptions | Boolean | Se true , il recupero non restituisce un
se il codice di risposta indica un errore e restituisce invece HTTPResponse . Il valore predefinito è false . |
escaping | Boolean | Se false , i caratteri riservati nell'URL non vengono
con caratteri di escape. Il valore predefinito è true . |
Invio
HTTPResponse[]
: un array di dati di risposta HTTP da ogni richiesta di input.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url)
Restituisce la richiesta effettuata se l'operazione è stata richiamata.
Questo metodo non invia effettivamente la richiesta.
// 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]); }
Parametri
Nome | Tipo | Descrizione |
---|---|---|
url | String | L'URL da cercare. L'URL può contenere fino a 2082 caratteri. |
Invio
Object
: una mappa tra il nome del campo e il valore. La mappa ha almeno le seguenti chiavi: url
,
method
, contentType
, payload
e headers
.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url, params)
Restituisce la richiesta effettuata se l'operazione è stata richiamata.
Questo metodo non invia effettivamente la richiesta.
Parametri
Nome | Tipo | Descrizione |
---|---|---|
url | String | L'URL da cercare. L'URL può contenere fino a 2082 caratteri. |
params | Object | Un oggetto JavaScript facoltativo che specifica i parametri avanzati come definito di seguito. |
Parametri avanzati
Nome | Tipo | Descrizione |
---|---|---|
contentType | String | il tipo di contenuti (per impostazione predefinita 'application/x-www-form-urlencoded'). Un altro esempio di tipo di contenuto è "application/xml; charset=utf-8'. |
headers | Object | una mappa chiave/valore JavaScript di intestazioni HTTP per la richiesta |
method | String | metodo HTTP per la richiesta: get , delete ,
patch , post o put . Il valore predefinito è get . |
payload | String | il payload (ovvero il corpo del POST) per la richiesta. Determinati I metodi HTTP (ad esempio, GET) non accettano un payload. Può essere una stringa, un array di byte un blob o un oggetto JavaScript. Un oggetto JavaScript viene interpretato come una mappa del campo del modulo i nomi ai valori, dove i valori possono essere stringhe o BLOB. |
useIntranet | Boolean | Deprecato. Questo indica al recupero di risolvere URL all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecato) |
validateHttpsCertificates | Boolean | Se false il recupero ignora una qualsiasi
certificati non validi per richieste HTTPS. Il valore predefinito è true . |
followRedirects | Boolean | Se false il recupero non viene eseguito automaticamente
seguono reindirizzamenti HTTP; restituisce la risposta HTTP originale. Il valore predefinito è true . |
muteHttpExceptions | Boolean | Se true il recupero non genera un
se il codice di risposta indica un errore e restituisce invece HTTPResponse . Il valore predefinito è false . |
escaping | Boolean | Se nell'URL non sono presenti false caratteri riservati
con caratteri di escape. Il valore predefinito è true . |
Invio
Object
: una mappa tra il nome del campo e il valore. La mappa ha almeno le seguenti chiavi: url
,
method
, contentType
, payload
e headers
.
Autorizzazione
Gli script che utilizzano questo metodo richiedono l'autorizzazione con uno o più dei seguenti ambiti:
-
https://www.googleapis.com/auth/script.external_request