Recupera le risorse e comunica con altri host su Internet.
Questo servizio consente agli script di comunicare con altre applicazioni o di accedere ad altre risorse sul web recuperando gli URL. Uno script può utilizzare il servizio di recupero URL per inviare richieste HTTP e HTTPS e ricevere risposte. Il servizio di recupero URL utilizza l'infrastruttura di rete di Google per garantire efficienza e scalabilità.
Le richieste effettuate utilizzando questo servizio provengono da un pool impostato di intervalli IP. Puoi cercare l'elenco completo degli indirizzi IP se devi aggiungere alla lista consentita o approvare queste richieste.
Questo servizio richiede l'ambito https://www.googleapis.com/auth/script.external_request
. Nella maggior parte dei casi, Apps Script rileva e include automaticamente gli ambiti necessari a uno script; tuttavia, se imposti esplicitamente gli ambiti, devi aggiungere manualmente questo ambito per utilizzare UrlFetchApp
.
Vedi anche
Metodi
Metodo | Tipo restituito | Breve descrizione |
---|---|---|
fetch(url) | HTTPResponse | Effettua una richiesta per recuperare 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 che viene effettuata se è stata richiamata l'operazione. |
getRequest(url, params) | Object | Restituisce la richiesta che viene effettuata se l'operazione è stata richiamata. |
Documentazione dettagliata
fetch(url)
Effettua una richiesta per recuperare un URL.
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. |
Ritorni
HTTPResponse
: 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.
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 contenuto (il valore predefinito è "application/x-www-form-urlcoded"). Un altro esempio di tipo di contenuti è "application/xml; charset=utf-8". |
headers | Object | una mappa chiave/valore JavaScript delle intestazioni HTTP per la richiesta |
method | String | il metodo HTTP per la richiesta: get , delete ,
patch , post o put . Il valore predefinito è get . |
payload | String | il payload (ovvero il corpo POST) della richiesta. Alcuni 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 mappatura dei nomi dei campi dei moduli ai valori, dove i valori possono essere stringhe o blob. |
useIntranet | Boolean | Deprecato. Questo indica il recupero per risolvere l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecata) |
validateHttpsCertificates | Boolean | Se false , il recupero ignora eventuali certificati non validi per le richieste HTTPS. Il valore predefinito è true . |
followRedirects | Boolean | Se false , il recupero non segue automaticamente i reindirizzamenti HTTP, restituisce la risposta HTTP originale. Il valore predefinito è true . |
muteHttpExceptions | Boolean | Se true , il recupero non genera un'eccezione se il codice di risposta indica un errore, ma restituisce HTTPResponse . Il valore predefinito è false . |
escaping | Boolean | Se false caratteri riservati nell'URL non contengono caratteri di escape. Il valore predefinito è true . |
Ritorni
HTTPResponse
: 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.
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 contenuto (il valore predefinito è "application/x-www-form-urlcoded"). Un altro esempio di tipo di contenuti è "application/xml; charset=utf-8". |
headers | Object | una mappa chiave/valore JavaScript delle intestazioni HTTP per la richiesta |
method | String | il metodo HTTP per la richiesta: get , delete ,
patch , post o put . Il valore predefinito è get . |
payload | String | il payload (ovvero il corpo POST) della richiesta. Alcuni 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 mappatura dei nomi dei campi dei moduli ai valori, dove i valori possono essere stringhe o blob. |
useIntranet | Boolean | Deprecato. Questo indica il recupero per risolvere l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecata) |
validateHttpsCertificates | Boolean | Se false , il recupero ignora eventuali certificati non validi per le richieste HTTPS. Il valore predefinito è true . |
followRedirects | Boolean | Se false , il recupero non segue automaticamente i reindirizzamenti HTTP, restituisce la risposta HTTP originale. Il valore predefinito è true . |
muteHttpExceptions | Boolean | Se true , il recupero non genera un'eccezione se il codice di risposta indica un errore, ma restituisce HTTPResponse . Il valore predefinito è false . |
escaping | Boolean | Se false , i caratteri riservati nell'URL non vengono sottoposti a escape. Il valore predefinito è true . |
Ritorni
HTTPResponse[]
: 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 che viene effettuata se è stata richiamata l'operazione.
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. |
Ritorni
Object
: una mappa tra i nomi dei campi e i valori. La mappa contiene 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 che viene 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 contenuto (il valore predefinito è "application/x-www-form-urlcoded"). Un altro esempio di tipo di contenuti è "application/xml; charset=utf-8". |
headers | Object | una mappa chiave/valore JavaScript delle intestazioni HTTP per la richiesta |
method | String | il metodo HTTP per la richiesta: get , delete ,
patch , post o put . Il valore predefinito è get . |
payload | String | il payload (ovvero il corpo POST) della richiesta. Alcuni 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 mappatura dei nomi dei campi dei moduli ai valori, dove i valori possono essere stringhe o blob. |
useIntranet | Boolean | Deprecato. Questo indica il recupero per risolvere l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecata) |
validateHttpsCertificates | Boolean | Se false , il recupero ignora eventuali certificati non validi per le richieste HTTPS. Il valore predefinito è true . |
followRedirects | Boolean | Se false , il recupero non segue automaticamente i reindirizzamenti HTTP, restituisce la risposta HTTP originale. Il valore predefinito è true . |
muteHttpExceptions | Boolean | Se true , il recupero non genera un'eccezione se il codice di risposta indica un errore, ma restituisce HTTPResponse . Il valore predefinito è false . |
escaping | Boolean | Se false caratteri riservati nell'URL non possono essere preceduti da caratteri di escape. Il valore predefinito è true . |
Ritorni
Object
: una mappa tra i nomi dei campi e i valori. La mappa contiene 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