Class UrlFetchApp

UrlAbrufenApp

Ressourcen abrufen und über das Internet mit anderen Hosts kommunizieren.

Mit diesem Dienst können Scripts mit anderen Anwendungen kommunizieren oder auf andere Ressourcen im Web zugreifen, indem sie URLs abrufen. Ein Script kann mithilfe des URL-Abrufdienstes HTTP- und HTTPS-Anfragen senden und Antworten empfangen. Der URL-Abrufdienst nutzt die Netzwerkinfrastruktur von Google aus Effizienz- und Skalierungsgründen.

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

Für diesen Dienst ist der Umfang https://www.googleapis.com/auth/script.external_request erforderlich. In den meisten Fällen werden die für ein Script erforderlichen Bereiche in Apps Script automatisch erkannt und eingeschlossen. Wenn Sie die Bereiche jedoch explizit festlegen, müssen Sie diesen Bereich manuell hinzufügen, um UrlFetchApp zu verwenden.

Weitere Informationen

Methoden

MethodeRückgabetypKurzbeschreibung
fetch(url)HTTPResponseStellt eine Anfrage zum Abrufen einer URL.
fetch(url, params)HTTPResponseStellt eine Anfrage zum Abrufen einer URL mit optionalen erweiterten Parametern.
fetchAll(requests)HTTPResponse[]Er führt mithilfe optionaler erweiterter Parameter mehrere Anfragen aus, um mehrere URLs abzurufen.
getRequest(url)ObjectGibt die Anfrage zurück, die gesendet wird, wenn der Vorgang aufgerufen wurde.
getRequest(url, params)ObjectGibt die Anfrage zurück, die gesendet wird, wenn der Vorgang aufgerufen wird.

Detaillierte Dokumentation

fetch(url)

Stellt eine Anfrage zum Abrufen einer URL.

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

Parameter

NameTypBeschreibung
urlStringDie abzurufende URL. Die URL kann bis zu 2.082 Zeichen lang sein.

Rückflug

HTTPResponse: Die HTTP-Antwortdaten.

Autorisierung

Scripts, die diese Methode verwenden, erfordern eine Autorisierung für einen oder mehrere der folgenden Bereiche:

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

fetch(url, params)

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

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

Parameter

NameTypBeschreibung
urlStringDie abzurufende URL. Die URL kann bis zu 2.082 Zeichen lang sein.
paramsObjectDas optionale 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 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. der POST-Text) für die Anfrage. Bestimmte HTTP-Methoden (z. B. GET) akzeptieren keine Nutzlast. Es kann sich um einen String, ein Byte-Array, einen Blob oder ein JavaScript-Objekt handeln. Ein JavaScript-Objekt wird als Zuordnung von Formularfeldnamen zu Werten interpretiert. Die Werte können Strings oder Blobs sein.
useIntranetBooleanVerworfen. Dadurch wird Fetch angewiesen, die angegebene URL im Intranet aufzulösen, das über das (veraltete) SDC mit Ihrer Domain verknüpft ist.
validateHttpsCertificatesBooleanWenn false, werden bei der Abfrage alle ungültigen Zertifikate für HTTPS-Anfragen ignoriert. Der Standardwert ist true.
followRedirectsBooleanWenn false beim Abruf nicht automatisch HTTP-Weiterleitungen folgt, wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true.
muteHttpExceptionsBooleanWenn true, wird bei einem Fehler im Antwortcode keine Ausnahme ausgelöst, sondern stattdessen die HTTPResponse zurückgegeben. Der Standardwert ist false.
escapingBooleanWenn false reservierte Zeichen in der URL nicht maskiert sind. Der Standardwert ist true.

Rückflug

HTTPResponse: Die HTTP-Antwortdaten.

Autorisierung

Scripts, die diese Methode verwenden, erfordern eine Autorisierung für einen oder mehrere der folgenden Bereiche:

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

fetchAll(requests)

Er führt mithilfe optionaler erweiterter Parameter mehrere Anfragen aus, um mehrere URLs abzurufen.

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

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 lang sein.
contentTypeStringden Inhaltstyp (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. der POST-Text) für die Anfrage. Bestimmte HTTP-Methoden (z. B. GET) akzeptieren keine Nutzlast. Es kann sich um einen String, ein Byte-Array, einen Blob oder ein JavaScript-Objekt handeln. Ein JavaScript-Objekt wird als Zuordnung von Formularfeldnamen zu Werten interpretiert. Die Werte können Strings oder Blobs sein.
useIntranetBooleanVerworfen. Dadurch wird Fetch angewiesen, die angegebene URL im Intranet aufzulösen, das über das (veraltete) SDC mit Ihrer Domain verknüpft ist.
validateHttpsCertificatesBooleanWenn false, werden bei der Abfrage alle ungültigen Zertifikate für HTTPS-Anfragen ignoriert. Der Standardwert ist true.
followRedirectsBooleanWenn false beim Abruf nicht automatisch HTTP-Weiterleitungen folgt, wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true.
muteHttpExceptionsBooleanWenn true, wird beim Abrufen keine Ausnahme ausgelöst, wenn der Antwortcode einen Fehler anzeigt, und stattdessen wird HTTPResponse zurückgegeben. Der Standardwert ist false.
escapingBooleanWenn false, werden reservierte Zeichen in der URL nicht maskiert. Der Standardwert ist true.

Rückflug

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

Autorisierung

Scripts, die diese Methode verwenden, erfordern eine Autorisierung für einen oder mehrere der folgenden Bereiche:

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

getRequest(url)

Gibt die Anfrage zurück, die gesendet wird, wenn der Vorgang aufgerufen wurde.

Bei dieser Methode wird die Anfrage nicht tatsächlich gesendet.

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

Parameter

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

Rückflug

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

Autorisierung

Scripts, die diese Methode verwenden, erfordern eine Autorisierung für einen oder mehrere der folgenden Bereiche:

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

getRequest(url, params)

Gibt die Anfrage zurück, die gesendet wird, wenn der Vorgang aufgerufen wird.

Bei dieser Methode wird die Anfrage nicht tatsächlich gesendet.

Parameter

NameTypBeschreibung
urlStringDie URL, die 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
contentTypeStringden Inhaltstyp (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. der POST-Text) für die Anfrage. Bestimmte HTTP-Methoden (z. B. GET) akzeptieren keine Nutzlast. Es kann sich um einen String, ein Byte-Array, einen Blob oder ein JavaScript-Objekt handeln. Ein JavaScript-Objekt wird als Zuordnung von Formularfeldnamen zu Werten interpretiert. Die Werte können Strings oder Blobs sein.
useIntranetBooleanVerworfen. Dadurch wird Fetch angewiesen, die angegebene URL im Intranet aufzulösen, das über das (veraltete) SDC mit Ihrer Domain verknüpft ist.
validateHttpsCertificatesBooleanWenn false, werden bei der Abfrage alle ungültigen Zertifikate für HTTPS-Anfragen ignoriert. Der Standardwert ist true.
followRedirectsBooleanWenn false beim Abruf nicht automatisch HTTP-Weiterleitungen folgt, wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true.
muteHttpExceptionsBooleanWenn true, wird bei einem Fehler im Antwortcode keine Ausnahme ausgelöst, sondern stattdessen die HTTPResponse zurückgegeben. Der Standardwert ist false.
escapingBooleanWenn reservierte Zeichen false in der URL nicht maskiert werden. Der Standardwert ist true.

Rückflug

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

Autorisierung

Scripts, die diese Methode verwenden, erfordern eine Autorisierung für einen oder mehrere der folgenden Bereiche:

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