Class UrlFetchApp

UrlFetchApp

Ressourcen abrufen und über das Internet mit anderen Hosts kommunizieren

Mit diesem Dienst können Skripts mit anderen Anwendungen kommunizieren oder auf andere Ressourcen zugreifen im Web durch Abrufen von URLs. Ein Skript kann mit dem URL-Abrufdienst HTTP und HTTPS ausgeben und erhalten Antworten. Der URL-Abrufdienst nutzt die Netzwerkinfrastruktur von Google für Effizienz und Skalierung.

Anfragen mit diesem Dienst stammen aus einem festgelegten Pool von IP-Bereichen. Eine vollständige Liste der IP-Adressen ist verfügbar, wenn folgende Voraussetzungen erfüllt sind: müssen Sie diese Anfragen auf die Zulassungsliste setzen oder genehmigen.

Für diesen Dienst ist die https://www.googleapis.com/auth/script.external_request erforderlich Umfang. In den meisten Fällen erkennt Apps Script automatisch den Umfang, den ein Skript benötigt, Wenn Sie jedoch Ihre Zugriffsbereiche explizit hinzugefügt wird, müssen Sie diesen Bereich manuell hinzufügen, um UrlFetchApp zu verwenden.

Weitere Informationen

Methoden

MethodeRückgabetypKurzbeschreibung
fetch(url)HTTPResponseSendet eine Anfrage zum Abrufen einer URL.
fetch(url, params)HTTPResponseSendet eine Anfrage zum Abrufen einer URL mit optionalen erweiterten Parametern.
fetchAll(requests)HTTPResponse[]Sendet mehrere Anfragen zum Abrufen mehrerer URLs mit optionalen erweiterten Parametern.
getRequest(url)ObjectGibt die Anfrage zurück, die beim Aufrufen des Vorgangs gestellt wurde.
getRequest(url, params)ObjectGibt die Anfrage zurück, die beim Aufrufen des Vorgangs gestellt wurde.

Detaillierte Dokumentation

fetch(url)

Sendet eine Anfrage zum Abrufen einer URL.

Dies funktioniert sowohl über HTTP als auch über 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());

Parameter

NameTypBeschreibung
urlStringDie URL, die abgerufen werden soll. Die URL kann bis zu 2.082 Zeichen lang sein.

Rückflug

HTTPResponse: Die HTTP-Antwortdaten.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/script.external_request

fetch(url, params)

Sendet eine Anfrage zum Abrufen einer URL mit optionalen erweiterten Parametern.

Dies funktioniert sowohl über HTTP als auch über 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);

Parameter

NameTypBeschreibung
urlStringDie URL, die abgerufen werden soll. Die URL kann bis zu 2.082 Zeichen lang sein.
paramsObjectDas optionale JavaScript-Objekt, das die unten definierten erweiterten Parameter angibt.

Erweiterte Parameter

NameTypBeschreibung
contentTypeStringInhaltstyp (standardmäßig 'application/x-www-form-urlencoded'). Ein weiteres Beispiel für einen Inhaltstyp ist 'application/xml; charset=utf-8'.
headersObjecteine JavaScript-Schlüssel/Wert-Zuordnung von HTTP-Headern für die Anfrage
methodStringDie HTTP-Methode für die Anfrage: get, delete, patch, post oder put. Der Standardwert ist get.
payloadStringdie Nutzlast (d. h. den POST-Text) für die Anforderung. Bestimmte HTTP-Methoden wie GET akzeptieren keine Nutzlast. Es kann ein String, ein Byte-Array, Blob oder JavaScript-Objekt. Ein JavaScript-Objekt wird als Zuordnung eines Formularfelds interpretiert Namen für Werte, wobei die Werte entweder Strings oder Blobs sein können.
useIntranetBooleanVerworfen. Dadurch wird der Fetch-Befehl angewiesen, die angegebene URL im Intranet, die über SDC (eingestellt) mit Ihrer Domain verknüpft ist
validateHttpsCertificatesBooleanWenn false beim Abrufen ignoriert wird Ungültige Zertifikate für HTTPS-Anfragen. Der Standardwert ist true.
followRedirectsBooleanWenn false, erfolgt der Abruf nicht automatisch HTTP-Weiterleitungen folgen; wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true.
muteHttpExceptionsBooleanWenn true, löst der Abruf keine Ausnahme, wenn der Antwortcode auf einen Fehler hinweist und stattdessen den HTTPResponse zurückgibt. Der Standardwert ist false.
escapingBooleanWenn false reservierte Zeichen in der URL nicht ist entkommen. Der Standardwert ist true.

Rückflug

HTTPResponse: Die HTTP-Antwortdaten.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/script.external_request

fetchAll(requests)

Sendet mehrere Anfragen zum Abrufen mehrerer URLs mit optionalen erweiterten Parametern.

Dies funktioniert sowohl über HTTP als auch über 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]);

Parameter

NameTypBeschreibung
requestsObject[]Ein Array von URLs oder JavaScript-Objekten, die Anfragen wie definiert angeben unten.

Erweiterte Parameter

NameTypBeschreibung
urlStringDie abzurufende URL. Die URL kann bis zu 2.082 Zeichen lang sein.
contentTypeStringInhaltstyp (standardmäßig 'application/x-www-form-urlencoded'). Ein weiteres Beispiel für einen Inhaltstyp ist 'application/xml; charset=utf-8'.
headersObjecteine JavaScript-Schlüssel/Wert-Zuordnung von HTTP-Headern für die Anfrage
methodStringDie HTTP-Methode für die Anfrage: get, delete, patch, post oder put. Der Standardwert ist get.
payloadStringdie Nutzlast (d. h. den POST-Text) für die Anforderung. Bestimmte HTTP-Methoden wie GET akzeptieren keine Nutzlast. Es kann ein String, ein Byte-Array, Blob oder JavaScript-Objekt. Ein JavaScript-Objekt wird als Zuordnung eines Formularfelds interpretiert Namen für Werte, wobei die Werte entweder Strings oder Blobs sein können.
useIntranetBooleanVerworfen. Dadurch wird der Fetch-Befehl angewiesen, die angegebene URL im Intranet, die über SDC (eingestellt) mit Ihrer Domain verknüpft ist
validateHttpsCertificatesBooleanWenn false beim Abrufen ignoriert wird Ungültige Zertifikate für HTTPS-Anfragen. Der Standardwert ist true.
followRedirectsBooleanWenn false, erfolgt der Abruf nicht automatisch HTTP-Weiterleitungen folgen; wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true.
muteHttpExceptionsBooleanWenn true, löst der Abruf keinen Ausnahme, wenn der Antwortcode auf einen Fehler hinweist und stattdessen den HTTPResponse zurückgibt. Der Standardwert ist false.
escapingBooleanBei false sind reservierte Zeichen in der URL nicht ist entkommen. Der Standardwert ist true.

Rückflug

HTTPResponse[]: Ein Array von HTTP-Antwortdaten aus jeder Eingabeanfrage.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/script.external_request

getRequest(url)

Gibt die Anfrage zurück, die beim Aufrufen des Vorgangs gestellt wurde.

Diese Methode löst die Anfrage nicht aus.

// 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]);
}

Parameter

NameTypBeschreibung
urlStringDie URL, nach der gesucht werden soll. Die URL kann bis zu 2.082 Zeichen lang sein.

Rückflug

Object: Eine Zuordnung von Feldnamen zu Wert. Die Karte hat mindestens die folgenden Schlüssel: url, method, contentType, payload und headers.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/script.external_request

getRequest(url, params)

Gibt die Anfrage zurück, die beim Aufrufen des Vorgangs gestellt wurde.

Diese Methode löst die Anfrage nicht aus.

Parameter

NameTypBeschreibung
urlStringDie URL, nach der gesucht werden soll. Die URL kann bis zu 2.082 Zeichen lang sein.
paramsObjectEin optionales JavaScript-Objekt, das erweiterte Parameter wie unten definiert angibt.

Erweiterte Parameter

NameTypBeschreibung
contentTypeStringInhaltstyp (standardmäßig 'application/x-www-form-urlencoded'). Ein weiteres Beispiel für einen Inhaltstyp ist 'application/xml; charset=utf-8'.
headersObjecteine JavaScript-Schlüssel/Wert-Zuordnung von HTTP-Headern für die Anfrage
methodStringDie HTTP-Methode für die Anfrage: get, delete, patch, post oder put. Der Standardwert ist get.
payloadStringdie Nutzlast (d. h. den POST-Text) für die Anforderung. Bestimmte HTTP-Methoden wie GET akzeptieren keine Nutzlast. Es kann ein String, ein Byte-Array, Blob oder JavaScript-Objekt. Ein JavaScript-Objekt wird als Zuordnung eines Formularfelds interpretiert Namen für Werte, wobei die Werte entweder Strings oder Blobs sein können.
useIntranetBooleanVerworfen. Damit wird der Abruf angewiesen, den angegebenen Wert URL im Intranet, die über SDC (eingestellt) mit Ihrer Domain verknüpft ist
validateHttpsCertificatesBooleanWenn false beim Abrufen ignoriert wird Ungültige Zertifikate für HTTPS-Anfragen. Der Standardwert ist true.
followRedirectsBooleanWenn false, erfolgt der Abruf nicht automatisch HTTP-Weiterleitungen folgen; wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true.
muteHttpExceptionsBooleanWenn true, löst der Abruf keine Ausnahme, wenn der Antwortcode auf einen Fehler hinweist und stattdessen den HTTPResponse zurückgibt. Der Standardwert ist false.
escapingBooleanWenn false reservierte Zeichen in der URL nicht ist entkommen. Der Standardwert ist true.

Rückflug

Object: Eine Zuordnung von Feldnamen zu Wert. Die Karte hat mindestens die folgenden Schlüssel: url, method, contentType, payload und headers.

Autorisierung

Skripts, die diese Methode verwenden, erfordern eine Autorisierung mit einem oder mehreren der folgenden Bereiche:

  • https://www.googleapis.com/auth/script.external_request