Class UrlFetchApp

UrlFetchApp

Recupera risorse e comunica 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 emettere HTTP e HTTPS richieste e ricevono risposte. Il servizio di recupero URL utilizza l'infrastruttura di rete di Google per di efficienza e scalabilità.

Le richieste effettuate utilizzando questo servizio provengono da un pool prefissato di intervalli IP. Puoi cercare l'elenco completo degli indirizzi IP se devi autorizzare o approvare queste richieste.

Questo servizio richiede https://www.googleapis.com/auth/script.external_request l'ambito di attività. Nella maggior parte dei casi, Apps Script rileva e include automaticamente gli ambiti necessari per uno script, ma se imposti gli ambiti esplicitamente devi aggiungere manualmente questo ambito per utilizzare UrlFetchApp.

Vedi anche

Metodi

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

Documentazione dettagliata

fetch(url)

Effettua una richiesta di recupero di un URL.

Questa opzione 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.

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.

Questa opzione 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 contenuti (per impostazione predefinita 'application/x-www-form-urlencoded'). Un altro esempio di tipo di contenuto è "application/xml; charset=utf-8'.
headersObjectuna mappa chiave/valore JavaScript di intestazioni HTTP per la richiesta
methodStringmetodo HTTP per la richiesta: get, delete, patch, post o put. Il valore predefinito è get.
payloadStringil payload (ovvero il corpo del POST) per la richiesta. Determinati I 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 del campo del modulo i nomi ai valori, dove i valori possono essere stringhe o BLOB.
useIntranetBooleanDeprecato. Questo indica al recupero di risolvere URL all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecato)
validateHttpsCertificatesBooleanSe false il recupero ignora una qualsiasi certificati non validi per richieste HTTPS. Il valore predefinito è true.
followRedirectsBooleanSe false il recupero non viene eseguito automaticamente seguono reindirizzamenti HTTP; restituisce la risposta HTTP originale. Il valore predefinito è true.
muteHttpExceptionsBooleanSe true il recupero non genera un se il codice di risposta indica un errore e restituisce invece HTTPResponse. Il valore predefinito è false.
escapingBooleanSe nell'URL false caratteri riservati non vengono con caratteri di escape. 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

fetchAll(requests)

Effettua più richieste per recuperare più URL utilizzando parametri avanzati facoltativi.

Questa opzione 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 contenuti (per impostazione predefinita 'application/x-www-form-urlencoded'). Un altro esempio di tipo di contenuto è "application/xml; charset=utf-8'.
headersObjectuna mappa chiave/valore JavaScript di intestazioni HTTP per la richiesta
methodStringmetodo HTTP per la richiesta: get, delete, patch, post o put. Il valore predefinito è get.
payloadStringil payload (ovvero il corpo del POST) per la richiesta. Determinati I 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 del campo del modulo i nomi ai valori, dove i valori possono essere stringhe o BLOB.
useIntranetBooleanDeprecato. Questo indica al recupero di risolvere URL all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecato)
validateHttpsCertificatesBooleanSe false il recupero ignora una qualsiasi certificati non validi per richieste HTTPS. Il valore predefinito è true.
followRedirectsBooleanSe false il recupero non viene eseguito automaticamente seguono reindirizzamenti HTTP; restituisce la risposta HTTP originale. Il valore predefinito è true.
muteHttpExceptionsBooleanSe true, il recupero non restituisce un 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 con caratteri di escape. Il valore predefinito è true.

Invio

HTTPResponse[]: un 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 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.
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.

Invio

Object: una mappa tra il nome del campo e il 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 è 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 contenuti (per impostazione predefinita 'application/x-www-form-urlencoded'). Un altro esempio di tipo di contenuto è "application/xml; charset=utf-8'.
headersObjectuna mappa chiave/valore JavaScript di intestazioni HTTP per la richiesta
methodStringmetodo HTTP per la richiesta: get, delete, patch, post o put. Il valore predefinito è get.
payloadStringil payload (ovvero il corpo del POST) per la richiesta. Determinati I 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 del campo del modulo i nomi ai valori, dove i valori possono essere stringhe o BLOB.
useIntranetBooleanDeprecato. Questo indica al recupero di risolvere URL all'interno dell'intranet collegata al tuo dominio tramite SDC (deprecato)
validateHttpsCertificatesBooleanSe false il recupero ignora una qualsiasi certificati non validi per richieste HTTPS. Il valore predefinito è true.
followRedirectsBooleanSe false il recupero non viene eseguito automaticamente seguono reindirizzamenti HTTP; restituisce la risposta HTTP originale. Il valore predefinito è true.
muteHttpExceptionsBooleanSe true il recupero non genera un se il codice di risposta indica un errore e restituisce invece HTTPResponse. Il valore predefinito è false.
escapingBooleanSe nell'URL non sono presenti false caratteri riservati con caratteri di escape. Il valore predefinito è true.

Invio

Object: una mappa tra il nome del campo e il 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