Ressourcen abrufen und über das Internet mit anderen Hosts kommunizieren.
Mit diesem Dienst können Skripts mit anderen Anwendungen kommunizieren oder auf andere Ressourcen im Web zugreifen, indem sie URLs abrufen. Ein Skript kann mithilfe des URL-Abrufdienstes HTTP- und HTTPS-Anfragen senden und Antworten empfangen. Der URL Fetch-Dienst nutzt die Netzwerkinfrastruktur von Google, um die Effizienz und Skalierbarkeit zu verbessern.
Anfragen, die über diesen Dienst gestellt werden, stammen aus einem bestimmten Pool von IP-Bereichen. Eine vollständige Liste der IP-Adressen finden Sie, 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 die für ein Skript erforderlichen Bereiche automatisch und fügt sie hinzu. Wenn Sie jedoch Ihre Bereiche explizit festlegen, müssen Sie diesen Bereich manuell hinzufügen, um UrlFetchApp verwenden zu können.
Weitere Informationen
Methoden
| Methode | Rückgabetyp | Kurzbeschreibung |
|---|---|---|
fetch(url) | HTTPResponse | Stellt eine Anfrage zum Abrufen einer URL. |
fetch(url, params) | HTTPResponse | Stellt eine Anfrage zum Abrufen einer URL mit optionalen erweiterten Parametern. |
fetch | HTTPResponse[] | Es werden mehrere Anfragen gesendet, um mehrere URLs mit optionalen erweiterten Parametern abzurufen. |
get | Object | Gibt die Anfrage zurück, die gestellt wird, wenn der Vorgang aufgerufen wurde. |
get | Object | Gibt die Anfrage zurück, die gestellt würde, wenn der Vorgang aufgerufen würde. |
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
| Name | Typ | Beschreibung |
|---|---|---|
url | String | Die abzurufende URL. Die URL darf bis zu 2.082 Zeichen enthalten. |
Rückflug
HTTPResponse: Die HTTP-Antwortdaten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
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
| Name | Typ | Beschreibung |
|---|---|---|
url | String | Die abzurufende URL. Die URL darf bis zu 2.082 Zeichen enthalten. |
params | Object | Das optionale JavaScript-Objekt, das erweiterte Parameter wie unten definiert angibt. |
Erweiterte Parameter
| Name | Typ | Beschreibung |
|---|---|---|
content | String | Der Inhaltstyp (standardmäßig „application/x-www-form-urlencoded“). Ein weiteres Beispiel für einen Inhaltstyp ist „application/xml; charset=utf-8“. |
headers | Object | Eine JavaScript-Schlüssel/Wert-Zuordnung von HTTP-Headern für die Anfrage |
method | String | Die HTTP-Methode für die Anfrage: get, delete, patch, post oder put. Der Standardwert ist get. |
payload | String | die Nutzlast (d. h. der POST-Text) für die Anfrage. Bestimmte HTTP-Methoden (z. B. GET) akzeptieren keine Nutzlast. Es kann ein String, ein Byte-Array, 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. |
use | Boolean | Verworfen. Dadurch wird der Abrufvorgang angewiesen, die angegebene URL im Intranet aufzulösen, das über das (eingestellte) SDC mit Ihrer Domain verknüpft ist. |
validate | Boolean | Wenn false, werden bei der Abfrage alle ungültigen Zertifikate für HTTPS-Anfragen ignoriert. Der Standardwert ist true. |
follow | Boolean | Wenn false, werden HTTP-Weiterleitungen beim Abrufen nicht automatisch gefolgt. Stattdessen wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true. |
mute | Boolean | Wenn true beim Abrufen keine Ausnahme ausgelöst wird, wenn der Antwortcode einen Fehler angibt, wird stattdessen HTTPResponse zurückgegeben. Der Standardwert ist false. |
escaping | Boolean | Wenn false reservierte Zeichen in der URL nicht maskiert werden. Der Standardwert ist true. |
Rückflug
HTTPResponse: Die HTTP-Antwortdaten.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.external_request
fetchAll(requests)
Es werden mehrere Anfragen gesendet, um mehrere URLs mit optionalen erweiterten Parametern 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
| Name | Typ | Beschreibung |
|---|---|---|
requests | Object[] | Ein Array mit URLs oder JavaScript-Objekten, in denen Anfragen wie unten definiert angegeben werden. |
Erweiterte Parameter
| Name | Typ | Beschreibung |
|---|---|---|
url | String | Die abzurufende URL. Die URL darf bis zu 2.082 Zeichen enthalten. |
content | String | Der Inhaltstyp (standardmäßig „application/x-www-form-urlencoded“). Ein weiteres Beispiel für einen Inhaltstyp ist „application/xml; charset=utf-8“. |
headers | Object | Eine JavaScript-Schlüssel/Wert-Zuordnung von HTTP-Headern für die Anfrage |
method | String | Die HTTP-Methode für die Anfrage: get, delete, patch, post oder put. Der Standardwert ist get. |
payload | String | die Nutzlast (d. h. der POST-Text) für die Anfrage. Bestimmte HTTP-Methoden (z. B. GET) akzeptieren keine Nutzlast. Es kann ein String, ein Byte-Array, 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. |
use | Boolean | Verworfen. Dadurch wird der Abrufvorgang angewiesen, die angegebene URL im Intranet aufzulösen, das über das (eingestellte) SDC mit Ihrer Domain verknüpft ist. |
validate | Boolean | Wenn false, werden bei der Abfrage alle ungültigen Zertifikate für HTTPS-Anfragen ignoriert. Der Standardwert ist true. |
follow | Boolean | Wenn false, werden HTTP-Weiterleitungen beim Abrufen nicht automatisch gefolgt. Stattdessen wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true. |
mute | Boolean | Wenn true, wird beim Abrufen keine Ausnahme ausgelöst, wenn der Antwortcode einen Fehler angibt. Stattdessen wird HTTPResponse zurückgegeben. Der Standardwert ist false. |
escaping | Boolean | Wenn false, werden reservierte Zeichen in der URL nicht maskiert. Der Standardwert ist true. |
Rückflug
HTTPResponse[]: Ein Array mit HTTP-Antwortdaten aus jeder Eingabeanfrage.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url)
Gibt die Anfrage zurück, die gestellt wird, wenn der Vorgang aufgerufen wurde.
Mit 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
| Name | Typ | Beschreibung |
|---|---|---|
url | String | Die URL, die nachgeschlagen werden soll. Die URL darf bis zu 2.082 Zeichen enthalten. |
Rückflug
Object: Eine Zuordnung von Feldname zu Wert. Die Karte hat mindestens die folgenden Schlüssel: url, method, contentType, payload und headers.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url, params)
Gibt die Anfrage zurück, die gestellt würde, wenn der Vorgang aufgerufen würde.
Mit dieser Methode wird die Anfrage nicht tatsächlich gesendet.
Parameter
| Name | Typ | Beschreibung |
|---|---|---|
url | String | Die URL, die nachgeschlagen werden soll. Die URL darf bis zu 2.082 Zeichen enthalten. |
params | Object | Ein optionales JavaScript-Objekt, das erweiterte Parameter wie unten definiert angibt. |
Erweiterte Parameter
| Name | Typ | Beschreibung |
|---|---|---|
content | String | Der Inhaltstyp (standardmäßig „application/x-www-form-urlencoded“). Ein weiteres Beispiel für einen Inhaltstyp ist „application/xml; charset=utf-8“. |
headers | Object | Eine JavaScript-Schlüssel/Wert-Zuordnung von HTTP-Headern für die Anfrage |
method | String | Die HTTP-Methode für die Anfrage: get, delete, patch, post oder put. Der Standardwert ist get. |
payload | String | die Nutzlast (d. h. der POST-Text) für die Anfrage. Bestimmte HTTP-Methoden (z. B. GET) akzeptieren keine Nutzlast. Es kann ein String, ein Byte-Array, 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. |
use | Boolean | Verworfen. Dadurch wird der Abrufvorgang angewiesen, die angegebene URL im Intranet aufzulösen, das über das (eingestellte) SDC mit Ihrer Domain verknüpft ist. |
validate | Boolean | Wenn false, werden bei der Abfrage alle ungültigen Zertifikate für HTTPS-Anfragen ignoriert. Der Standardwert ist true. |
follow | Boolean | Wenn false, werden HTTP-Weiterleitungen beim Abrufen nicht automatisch gefolgt. Stattdessen wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true. |
mute | Boolean | Wenn true beim Abrufen keine Ausnahme ausgelöst wird, wenn der Antwortcode einen Fehler angibt, wird stattdessen HTTPResponse zurückgegeben. Der Standardwert ist false. |
escaping | Boolean | Wenn false reservierte Zeichen in der URL nicht maskiert werden. Der Standardwert ist true. |
Rückflug
Object: Eine Zuordnung von Feldname zu Wert. Die Karte hat mindestens die folgenden Schlüssel: url, method, contentType, payload und headers.
Autorisierung
Scripts, die diese Methode verwenden, benötigen eine Autorisierung für mindestens einen der folgenden Zugriffsbereiche:
-
https://www.googleapis.com/auth/script.external_request