Class UrlFetchApp

UrlFetchApp

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

MetodoTipo restituitoBreve descrizione
fetch(url)HTTPResponseEffettua una richiesta per recuperare un URL.
fetch(url, params)HTTPResponseEffettua 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)ObjectRestituisce la richiesta che viene effettuata se è stata richiamata l'operazione.
getRequest(url, params)ObjectRestituisce 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

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

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

Parametri avanzati

NomeTipoDescrizione
contentTypeStringil tipo di contenuto (il valore predefinito è "application/x-www-form-urlcoded"). 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 mappatura dei nomi dei campi dei moduli ai valori, dove i valori possono essere stringhe o blob.
useIntranetBooleanDeprecato. Questo indica il recupero per risolvere l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecata)
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, ma restituisce HTTPResponse. Il valore predefinito è false.
escapingBooleanSe 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

NomeTipoDescrizione
requestsObject[]Un array di URL o oggetti JavaScript che specifica 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-urlcoded"). 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 mappatura dei nomi dei campi dei moduli ai valori, dove i valori possono essere stringhe o blob.
useIntranetBooleanDeprecato. Questo indica il recupero per risolvere l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecata)
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, ma restituisce HTTPResponse. Il valore predefinito è false.
escapingBooleanSe 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

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

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

Parametri avanzati

NomeTipoDescrizione
contentTypeStringil tipo di contenuto (il valore predefinito è "application/x-www-form-urlcoded"). 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 mappatura dei nomi dei campi dei moduli ai valori, dove i valori possono essere stringhe o blob.
useIntranetBooleanDeprecato. Questo indica il recupero per risolvere l'URL specificato all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecata)
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, ma restituisce HTTPResponse. Il valore predefinito è false.
escapingBooleanSe 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