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
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 mit optionalen erweiterten Parametern. |
fetchAll(requests) | HTTPResponse[] | Sendet mehrere Anfragen zum Abrufen mehrerer URLs mit optionalen erweiterten Parametern. |
getRequest(url) | Object | Gibt die Anfrage zurück, die beim Aufrufen des Vorgangs gestellt wurde. |
getRequest(url, params) | Object | Gibt 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
Name | Typ | Beschreibung |
---|---|---|
url | String | Die 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
Name | Typ | Beschreibung |
---|---|---|
url | String | Die URL, die abgerufen werden soll. Die URL kann bis zu 2.082 Zeichen lang sein. |
params | Object | Das optionale JavaScript-Objekt, das die unten definierten erweiterten Parameter angibt. |
Erweiterte Parameter
Name | Typ | Beschreibung |
---|---|---|
contentType | String | 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. 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. |
useIntranet | Boolean | Verworfen. Dadurch wird der Fetch-Befehl angewiesen, die angegebene URL im Intranet, die über SDC (eingestellt) mit Ihrer Domain verknüpft ist |
validateHttpsCertificates | Boolean | Wenn false beim Abrufen ignoriert wird
Ungültige Zertifikate für HTTPS-Anfragen. Der Standardwert ist true . |
followRedirects | Boolean | Wenn false , erfolgt der Abruf nicht automatisch
HTTP-Weiterleitungen folgen; wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true . |
muteHttpExceptions | Boolean | Wenn true , löst der Abruf keine
Ausnahme, wenn der Antwortcode auf einen Fehler hinweist und stattdessen den HTTPResponse zurückgibt. Der Standardwert ist false . |
escaping | Boolean | Wenn 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
Name | Typ | Beschreibung |
---|---|---|
requests | Object[] | Ein Array von URLs oder JavaScript-Objekten, die Anfragen wie definiert angeben unten. |
Erweiterte Parameter
Name | Typ | Beschreibung |
---|---|---|
url | String | Die abzurufende URL. Die URL kann bis zu 2.082 Zeichen lang sein. |
contentType | String | 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. 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. |
useIntranet | Boolean | Verworfen. Dadurch wird der Fetch-Befehl angewiesen, die angegebene URL im Intranet, die über SDC (eingestellt) mit Ihrer Domain verknüpft ist |
validateHttpsCertificates | Boolean | Wenn false beim Abrufen ignoriert wird
Ungültige Zertifikate für HTTPS-Anfragen. Der Standardwert ist true . |
followRedirects | Boolean | Wenn false , erfolgt der Abruf nicht automatisch
HTTP-Weiterleitungen folgen; wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true . |
muteHttpExceptions | Boolean | Wenn true , löst der Abruf keinen
Ausnahme, wenn der Antwortcode auf einen Fehler hinweist und stattdessen den HTTPResponse zurückgibt. Der Standardwert ist false . |
escaping | Boolean | Bei 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
Name | Typ | Beschreibung |
---|---|---|
url | String | Die 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
Name | Typ | Beschreibung |
---|---|---|
url | String | Die URL, nach der gesucht werden soll. Die URL kann bis zu 2.082 Zeichen lang sein. |
params | Object | Ein optionales JavaScript-Objekt, das erweiterte Parameter wie unten definiert angibt. |
Erweiterte Parameter
Name | Typ | Beschreibung |
---|---|---|
contentType | String | 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. 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. |
useIntranet | Boolean | Verworfen. Damit wird der Abruf angewiesen, den angegebenen Wert URL im Intranet, die über SDC (eingestellt) mit Ihrer Domain verknüpft ist |
validateHttpsCertificates | Boolean | Wenn false beim Abrufen ignoriert wird
Ungültige Zertifikate für HTTPS-Anfragen. Der Standardwert ist true . |
followRedirects | Boolean | Wenn false , erfolgt der Abruf nicht automatisch
HTTP-Weiterleitungen folgen; wird die ursprüngliche HTTP-Antwort zurückgegeben. Der Standardwert ist true . |
muteHttpExceptions | Boolean | Wenn true , löst der Abruf keine
Ausnahme, wenn der Antwortcode auf einen Fehler hinweist und stattdessen den HTTPResponse zurückgibt. Der Standardwert ist false . |
escaping | Boolean | Wenn 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