Class UrlFetchApp

UrlFetchApp

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

MetodoTipo restituitoBreve descrizione
fetch(url)HTTPResponseInvia una richiesta per recuperare un URL.
fetch(url, params)HTTPResponseInvia una richiesta per recuperare un URL utilizzando parametri avanzati facoltativi.
fetchAll(requests)HTTPResponse[]Esegue più richieste per recuperare più URL utilizzando parametri avanzati facoltativi.
getRequest(url)ObjectRestituisce la richiesta effettuata se l'operazione è stata richiamata.
getRequest(url, params)ObjectRestituisce 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

NomeTipoDescrizione
urlStringL'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

NomeTipoDescrizione
urlStringL'URL da recuperare. L'URL può contenere fino a 2082 caratteri.
paramsObjectL'oggetto JavaScript facoltativo che specifica i parametri avanzati come definiti di seguito.

Parametri avanzati

NomeTipoDescrizione
contentTypeStringil tipo di contenuto (il valore predefinito è "application/x-www-form-urlencoded"). Un altro esempio di tipo di contenuti è "application/xml; charset=utf-8".
headersObjectuna mappa chiave/valore JavaScript delle intestazioni HTTP per la richiesta
methodStringil metodo HTTP per la richiesta: get, delete, patch, post o put. Il valore predefinito è get.
payloadStringil 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.
useIntranetBooleanDeprecato. In questo modo, il recupero risolve l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecato).
validateHttpsCertificatesBooleanSe false il recupero ignora eventuali certificati non validi per le richieste HTTPS. Il valore predefinito è true.
followRedirectsBooleanSe false il recupero non segue automaticamente i reindirizzamenti HTTP, restituisce la risposta HTTP originale. Il valore predefinito è true.
muteHttpExceptionsBooleanSe true il recupero non genera un'eccezione se il codice di risposta indica un errore e restituisce invece HTTPResponse. Il valore predefinito è false.
escapingBooleanSe 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

NomeTipoDescrizione
requestsObject[]Un array di URL o oggetti JavaScript che specificano le richieste come definito di seguito.

Parametri avanzati

NomeTipoDescrizione
urlStringl'URL da recuperare. L'URL può contenere fino a 2082 caratteri.
contentTypeStringil tipo di contenuto (il valore predefinito è "application/x-www-form-urlencoded"). Un altro esempio di tipo di contenuti è "application/xml; charset=utf-8".
headersObjectuna mappa chiave/valore JavaScript delle intestazioni HTTP per la richiesta
methodStringil metodo HTTP per la richiesta: get, delete, patch, post o put. Il valore predefinito è get.
payloadStringil 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.
useIntranetBooleanDeprecato. In questo modo, il recupero risolve l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecato).
validateHttpsCertificatesBooleanSe false il recupero ignora eventuali certificati non validi per le richieste HTTPS. Il valore predefinito è true.
followRedirectsBooleanSe false il recupero non segue automaticamente i reindirizzamenti HTTP, restituisce la risposta HTTP originale. Il valore predefinito è true.
muteHttpExceptionsBooleanSe true, il recupero non genera un'eccezione se il codice di risposta indica un errore e restituisce invece HTTPResponse. Il valore predefinito è false.
escapingBooleanSe 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

NomeTipoDescrizione
urlStringL'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

NomeTipoDescrizione
urlStringL'URL da cercare. L'URL può contenere fino a 2082 caratteri.
paramsObjectUn oggetto JavaScript facoltativo che specifica i parametri avanzati come definiti di seguito.

Parametri avanzati

NomeTipoDescrizione
contentTypeStringil tipo di contenuto (il valore predefinito è "application/x-www-form-urlencoded"). Un altro esempio di tipo di contenuti è "application/xml; charset=utf-8".
headersObjectuna mappa chiave/valore JavaScript delle intestazioni HTTP per la richiesta
methodStringil metodo HTTP per la richiesta: get, delete, patch, post o put. Il valore predefinito è get.
payloadStringil 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.
useIntranetBooleanDeprecato. In questo modo, il recupero risolve l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecato).
validateHttpsCertificatesBooleanSe false il recupero ignora eventuali certificati non validi per le richieste HTTPS. Il valore predefinito è true.
followRedirectsBooleanSe false il recupero non segue automaticamente i reindirizzamenti HTTP, restituisce la risposta HTTP originale. Il valore predefinito è true.
muteHttpExceptionsBooleanSe true il recupero non genera un'eccezione se il codice di risposta indica un errore e restituisce invece HTTPResponse. Il valore predefinito è false.
escapingBooleanSe 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