Recuperare risorse e comunicare 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 inviare richieste HTTP e HTTPS e ricevere risposte. Il servizio di recupero URL utilizza l'infrastruttura di rete di Google per motivi di efficienza e scalabilità.
Le richieste effettuate utilizzando questo servizio provengono da un pool di intervalli IP impostato. Puoi cercare l'elenco completo degli indirizzi IP se devi includere questi indirizzi nella 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 di cui uno script ha bisogno,
ma se imposti gli ambiti
in modo esplicito, devi aggiungere manualmente questo ambito per utilizzare UrlFetchApp.
Vedi anche
Metodi
| Metodo | Tipo restituito | Breve descrizione |
|---|---|---|
fetch(url) | HTTPResponse | Invia una richiesta per recuperare un URL. |
fetch(url, params) | HTTPResponse | Invia una richiesta per recuperare un URL utilizzando parametri avanzati facoltativi. |
fetch | HTTPResponse[] | Esegue più richieste per recuperare più URL utilizzando parametri avanzati facoltativi. |
get | Object | Restituisce la richiesta effettuata se l'operazione è stata richiamata. |
get | Object | Restituisce la richiesta effettuata se l'operazione fosse stata richiamata. |
Documentazione dettagliata
fetch(url)
Invia 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. const 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. |
Indietro
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)
Invia 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. 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);
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 definiti di seguito. |
Parametri avanzati
| Nome | Tipo | Descrizione |
|---|---|---|
content | String | il tipo di contenuto (il valore predefinito è "application/x-www-form-urlencoded"). 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 mappa dei nomi dei campi del modulo ai valori, dove i valori possono essere stringhe o blob. |
use | Boolean | Deprecato. In questo modo, il recupero risolve l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecato). |
validate | Boolean | Se false il recupero ignora eventuali
certificati non validi per le richieste HTTPS. Il valore predefinito è true. |
follow | Boolean | Se false il recupero non segue automaticamente
i reindirizzamenti HTTP, restituisce la risposta HTTP originale. Il valore predefinito è true. |
mute | Boolean | Se true il recupero non genera un'eccezione se il codice di risposta indica un errore e restituisce invece HTTPResponse. Il valore predefinito è false. |
escaping | Boolean | Se i caratteri riservati false nell'URL non
vengono sottoposti a escape. Il valore predefinito è true. |
Indietro
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)
Esegue 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. 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]);
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
requests | Object[] | Un array di URL o oggetti JavaScript che specificano 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. |
content | String | il tipo di contenuto (il valore predefinito è "application/x-www-form-urlencoded"). 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 mappa dei nomi dei campi del modulo ai valori, dove i valori possono essere stringhe o blob. |
use | Boolean | Deprecato. In questo modo, il recupero risolve l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecato). |
validate | Boolean | Se false il recupero ignora eventuali
certificati non validi per le richieste HTTPS. Il valore predefinito è true. |
follow | Boolean | Se false il recupero non segue automaticamente
i reindirizzamenti HTTP, restituisce la risposta HTTP originale. Il valore predefinito è true. |
mute | Boolean | Se true, il recupero non genera un'eccezione 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
sottoposti a escape. Il valore predefinito è true. |
Indietro
HTTPResponse[]: un array di dati di risposta HTTP di 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. const response = UrlFetchApp.getRequest('http://www.google.com/'); for (const 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. |
Indietro
Object: una mappa del nome del campo al 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 fosse 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 definiti di seguito. |
Parametri avanzati
| Nome | Tipo | Descrizione |
|---|---|---|
content | String | il tipo di contenuto (il valore predefinito è "application/x-www-form-urlencoded"). 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 mappa dei nomi dei campi del modulo ai valori, dove i valori possono essere stringhe o blob. |
use | Boolean | Deprecato. In questo modo, il recupero risolve l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecato). |
validate | Boolean | Se false il recupero ignora eventuali
certificati non validi per le richieste HTTPS. Il valore predefinito è true. |
follow | Boolean | Se false il recupero non segue automaticamente
i reindirizzamenti HTTP, restituisce la risposta HTTP originale. Il valore predefinito è true. |
mute | Boolean | Se true il recupero non genera un'eccezione se il codice di risposta indica un errore e restituisce invece HTTPResponse. Il valore predefinito è false. |
escaping | Boolean | Se i caratteri riservati false nell'URL non vengono
sottoposti a escape. Il valore predefinito è true. |
Indietro
Object: una mappa del nome del campo al 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