Class UrlFetchApp

UrlFetchApp

Ressourcen abrufen und mit anderen Hosts über das Internet kommunizieren

Dieser Dienst ermöglicht es Skripts, mit anderen Anwendungen zu kommunizieren oder auf andere Ressourcen im Web zuzugreifen, indem sie URLs abrufen. Ein Skript kann den URL-Abrufdienst verwenden, um HTTP- und HTTPS-Anfragen zu senden und Antworten zu erhalten. Aus Gründen der Effizienz und Skalierung verwendet der URL-Abrufdienst die Netzwerkinfrastruktur von Google.

Anfragen über diesen Dienst stammen aus einem festgelegten Pool von IP-Bereichen. Sie können eine vollständige Liste der IP-Adressen aufrufen, wenn Sie diese Anfragen auf die Zulassungsliste setzen oder genehmigen müssen.

Für diesen Dienst ist der Bereich https://www.googleapis.com/auth/script.external_request erforderlich. In den meisten Fällen erkennt Apps Script automatisch die Bereiche, die ein Skript benötigt, und schließt sie ein. Wenn Sie jedoch Bereiche explizit festlegen, 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 mithilfe optionaler erweiterter Parameter.
fetchAll(requests)HTTPResponse[]Sendet mehrere Anfragen zum Abrufen mehrerer URLs mit optionalen erweiterten Parametern.
getRequest(url)ObjectGibt die Anfrage zurück, die gestellt wurde, wenn der Vorgang aufgerufen wurde.
getRequest(url, params)ObjectGibt die Anfrage zurück, die gestellt wird, wenn der Vorgang aufgerufen wurde.

Detaillierte Dokumentation

fetch(url)

Sendet eine Anfrage zum Abrufen einer URL.

Dies funktioniert sowohl mit HTTP als auch mit 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 enthalten.

Return

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 mithilfe optionaler erweiterter Parameter.

Dies funktioniert sowohl mit HTTP als auch mit 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 enthalten.
paramsObjectDas optionale JavaScript-Objekt, mit dem die unten definierten erweiterten Parameter angegeben werden.

Erweiterte Parameter

NameTypBeschreibung
contentTypeStringDen Inhaltstyp (standardmäßig "application/x-www-form-urlencoded") Ein weiteres Beispiel für 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-Textkörper) für die Anfrage. Bestimmte HTTP-Methoden (z. B. GET) akzeptieren keine Nutzlasten. Es kann ein String, ein Bytearray, ein Blob oder ein JavaScript-Objekt sein. Ein JavaScript-Objekt wird als Zuordnung von Formularfeldnamen zu Werten interpretiert, wobei die Werte entweder Strings oder Blobs sein können.
useIntranetBooleanVeraltet. Damit wird der Abruf angewiesen, die angegebene URL im Intranet aufzulösen, das über SDC (veraltet) mit Ihrer Domain verknüpft ist
validateHttpsCertificatesBooleanWenn false, ignoriert der Abruf alle ungültigen Zertifikate für HTTPS-Anfragen. Der Standardwert ist true.
followRedirectsBooleanBei false folgt der Abruf nicht automatisch HTTP-Weiterleitungen. Es wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true.
muteHttpExceptionsBooleanBei true löst der Abruf keine Ausnahme aus, wenn der Antwortcode auf einen Fehler hinweist, und gibt stattdessen HTTPResponse zurück. Der Standardwert ist false.
escapingBooleanWenn false reservierte Zeichen in der URL nicht maskiert. Der Standardwert ist true.

Return

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 mit HTTP als auch mit 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 unten definiert angeben.

Erweiterte Parameter

NameTypBeschreibung
urlStringDie abzurufende URL. Die URL kann bis zu 2.082 Zeichen enthalten.
contentTypeStringDen Inhaltstyp (standardmäßig "application/x-www-form-urlencoded") Ein weiteres Beispiel für 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-Textkörper) für die Anfrage. Bestimmte HTTP-Methoden (z. B. GET) akzeptieren keine Nutzlasten. Es kann ein String, ein Bytearray, ein Blob oder ein JavaScript-Objekt sein. Ein JavaScript-Objekt wird als Zuordnung von Formularfeldnamen zu Werten interpretiert, wobei die Werte entweder Strings oder Blobs sein können.
useIntranetBooleanVeraltet. Damit wird der Abruf angewiesen, die angegebene URL im Intranet aufzulösen, das über SDC (veraltet) mit Ihrer Domain verknüpft ist
validateHttpsCertificatesBooleanWenn false, ignoriert der Abruf alle ungültigen Zertifikate für HTTPS-Anfragen. Der Standardwert ist true.
followRedirectsBooleanBei false folgt der Abruf nicht automatisch HTTP-Weiterleitungen. Es wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true.
muteHttpExceptionsBooleanBei true löst der Abruf keine Ausnahme aus, wenn der Antwortcode auf einen Fehler hinweist, und gibt stattdessen HTTPResponse zurück. Der Standardwert ist false.
escapingBooleanBei false werden reservierte Zeichen in der URL nicht maskiert. Der Standardwert ist true.

Return

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 gestellt wurde, wenn der Vorgang aufgerufen wurde.

Diese Methode gibt 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 nachzuschlagende URL. Die URL kann bis zu 2.082 Zeichen enthalten.

Return

Object: Eine Zuordnung von Feldname 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 gestellt wird, wenn der Vorgang aufgerufen wurde.

Diese Methode gibt die Anfrage nicht aus.

Parameter

NameTypBeschreibung
urlStringDie nachzuschlagende URL. Die URL kann bis zu 2.082 Zeichen enthalten.
paramsObjectEin optionales JavaScript-Objekt, das erweiterte Parameter wie unten definiert angibt.

Erweiterte Parameter

NameTypBeschreibung
contentTypeStringDen Inhaltstyp (standardmäßig "application/x-www-form-urlencoded") Ein weiteres Beispiel für 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-Textkörper) für die Anfrage. Bestimmte HTTP-Methoden (z. B. GET) akzeptieren keine Nutzlasten. Es kann ein String, ein Bytearray, ein Blob oder ein JavaScript-Objekt sein. Ein JavaScript-Objekt wird als Zuordnung von Formularfeldnamen zu Werten interpretiert, wobei die Werte entweder Strings oder Blobs sein können.
useIntranetBooleanVeraltet. Damit wird der Abruf angewiesen, die angegebene URL im Intranet aufzulösen, das über SDC (veraltet) mit Ihrer Domain verknüpft ist
validateHttpsCertificatesBooleanWenn false, ignoriert der Abruf alle ungültigen Zertifikate für HTTPS-Anfragen. Der Standardwert ist true.
followRedirectsBooleanBei false folgt der Abruf nicht automatisch HTTP-Weiterleitungen. Es wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true.
muteHttpExceptionsBooleanBei true löst der Abruf keine Ausnahme aus, wenn der Antwortcode auf einen Fehler hinweist, und gibt stattdessen HTTPResponse zurück. Der Standardwert ist false.
escapingBooleanWenn für false reservierte Zeichen in der URL nicht maskiert werden Der Standardwert ist true.

Return

Object: Eine Zuordnung von Feldname 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