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
Methode | Rückgabetyp | Kurzbeschreibung |
---|---|---|
fetch(url) | HTTPResponse | Sendet eine Anfrage zum Abrufen einer URL. |
fetch(url, params) | HTTPResponse | Sendet 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) | Object | Gibt die Anfrage zurück, die gestellt wurde, wenn der Vorgang aufgerufen wurde. |
getRequest(url, params) | Object | Gibt 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
Name | Typ | Beschreibung |
---|---|---|
url | String | Die 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
Name | Typ | Beschreibung |
---|---|---|
url | String | Die URL, die abgerufen werden soll. Die URL kann bis zu 2.082 Zeichen enthalten. |
params | Object | Das optionale JavaScript-Objekt, mit dem die unten definierten erweiterten Parameter angegeben werden. |
Erweiterte Parameter
Name | Typ | Beschreibung |
---|---|---|
contentType | String | Den Inhaltstyp (standardmäßig "application/x-www-form-urlencoded") Ein weiteres Beispiel für 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. 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. |
useIntranet | Boolean | Veraltet. Damit wird der Abruf angewiesen, die angegebene URL im Intranet aufzulösen, das über SDC (veraltet) mit Ihrer Domain verknüpft ist |
validateHttpsCertificates | Boolean | Wenn false , ignoriert der Abruf alle ungültigen Zertifikate für HTTPS-Anfragen. Der Standardwert ist true . |
followRedirects | Boolean | Bei false folgt der Abruf nicht automatisch HTTP-Weiterleitungen. Es wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true . |
muteHttpExceptions | Boolean | Bei 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 . |
escaping | Boolean | Wenn 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
Name | Typ | Beschreibung |
---|---|---|
requests | Object[] | Ein Array von URLs oder JavaScript-Objekten, die Anfragen wie unten definiert angeben. |
Erweiterte Parameter
Name | Typ | Beschreibung |
---|---|---|
url | String | Die abzurufende URL. Die URL kann bis zu 2.082 Zeichen enthalten. |
contentType | String | Den Inhaltstyp (standardmäßig "application/x-www-form-urlencoded") Ein weiteres Beispiel für 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. 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. |
useIntranet | Boolean | Veraltet. Damit wird der Abruf angewiesen, die angegebene URL im Intranet aufzulösen, das über SDC (veraltet) mit Ihrer Domain verknüpft ist |
validateHttpsCertificates | Boolean | Wenn false , ignoriert der Abruf alle ungültigen Zertifikate für HTTPS-Anfragen. Der Standardwert ist true . |
followRedirects | Boolean | Bei false folgt der Abruf nicht automatisch HTTP-Weiterleitungen. Es wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true . |
muteHttpExceptions | Boolean | Bei 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 . |
escaping | Boolean | Bei 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
Name | Typ | Beschreibung |
---|---|---|
url | String | Die 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
Name | Typ | Beschreibung |
---|---|---|
url | String | Die nachzuschlagende URL. Die URL kann bis zu 2.082 Zeichen enthalten. |
params | Object | Ein optionales JavaScript-Objekt, das erweiterte Parameter wie unten definiert angibt. |
Erweiterte Parameter
Name | Typ | Beschreibung |
---|---|---|
contentType | String | Den Inhaltstyp (standardmäßig "application/x-www-form-urlencoded") Ein weiteres Beispiel für 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. 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. |
useIntranet | Boolean | Veraltet. Damit wird der Abruf angewiesen, die angegebene URL im Intranet aufzulösen, das über SDC (veraltet) mit Ihrer Domain verknüpft ist |
validateHttpsCertificates | Boolean | Wenn false , ignoriert der Abruf alle ungültigen Zertifikate für HTTPS-Anfragen. Der Standardwert ist true . |
followRedirects | Boolean | Bei false folgt der Abruf nicht automatisch HTTP-Weiterleitungen. Es wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true . |
muteHttpExceptions | Boolean | Bei 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 . |
escaping | Boolean | Wenn 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