Recuperare risorse e comunicare con altri host tramite 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 dell'URL utilizza l'infrastruttura di rete di Google per scopi di efficienza e scalabilità.
Le richieste effettuate utilizzando questo servizio provengono da un pool definito di intervalli IP. Puoi consultare l'elenco completo degli indirizzi IP se devi inserire queste richieste nella lista consentita o approvarle.
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 esplicitamente, devi aggiungere manualmente questo ambito per utilizzare Url
.
Vedi anche
Metodi
Metodo | Tipo restituito | Breve descrizione |
---|---|---|
fetch(url) | HTTPResponse | Invia una richiesta per recuperare un URL. |
fetch(url, params) | HTTPResponse | Effettua una richiesta per recuperare un URL utilizzando parametri avanzati facoltativi. |
fetch | HTTPResponse[] | Effettua più richieste per recuperare più URL utilizzando parametri avanzati facoltativi. |
get | Object | Restituisce la richiesta effettuata se l'operazione è stata invocata. |
get | Object | Restituisce la richiesta che viene effettuata se l'operazione viene invocata. |
Documentazione dettagliata
fetch(url)
Invia una richiesta per recuperare un URL.
Questo 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. |
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.
Questo 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 definito di seguito. |
Parametri avanzati
Nome | Tipo | Descrizione |
---|---|---|
content | String | il tipo di contenuto (valore predefinito 'application/x-www-form-urlencoded'). Un altro esempio di tipo di contenuto è "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 del messaggio POST) per la 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 di nomi di campi e valori, in cui i valori possono essere stringhe o blob. |
use | Boolean | Deprecato. Questo indica a fetch di risolvere l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (non più supportato) |
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, viene restituita 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, ma restituisce HTTPResponse . Il valore predefinito è false . |
escaping | Boolean | Se i caratteri riservati false nell'URL non sono stati sottoposti a sfuggita. 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
fetch All(requests)
Effettua più richieste per recuperare più URL utilizzando parametri avanzati facoltativi.
Questo 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 (valore predefinito 'application/x-www-form-urlencoded'). Un altro esempio di tipo di contenuto è "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 del messaggio POST) per la 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 di nomi di campi e valori, in cui i valori possono essere stringhe o blob. |
use | Boolean | Deprecato. Questo indica a fetch di risolvere l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (non più supportato) |
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, viene restituita 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, ma restituisce HTTPResponse . Il valore predefinito è false . |
escaping | Boolean | Se false , i caratteri riservati nell'URL non vengono sottoposti a sfuggita. Il valore predefinito è true . |
Invio
HTTPResponse[]
: un array di dati della 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
get Request(url)
Restituisce la richiesta effettuata se l'operazione è stata invocata.
Questo metodo non emette 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. |
Invio
Object
: una mappa di nomi di campo a valore. La mappa contiene almeno le seguenti chiavi: url
,
method
, content
, 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
get Request(url, params)
Restituisce la richiesta che viene effettuata se l'operazione viene invocata.
Questo metodo non emette 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 (valore predefinito 'application/x-www-form-urlencoded'). Un altro esempio di tipo di contenuto è "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 del messaggio POST) per la 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 di nomi di campi e valori, in cui i valori possono essere stringhe o blob. |
use | Boolean | Deprecato. Questo indica a fetch di risolvere l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (non più supportato) |
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, viene restituita 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, ma restituisce HTTPResponse . Il valore predefinito è false . |
escaping | Boolean | Se i caratteri riservati false nell'URL non sono stati preceduti da carattere di escape. Il valore predefinito è true . |
Invio
Object
: una mappa di nomi di campo a valore. La mappa contiene almeno le seguenti chiavi: url
,
method
, content
, 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