Pobieraj zasoby i komunikuj się z innymi hostami przez internet.
Ta usługa umożliwia skryptom komunikowanie się z innymi aplikacjami i uzyskiwanie dostępu do innych zasobów w internecie za pomocą pobierania adresów URL. Skrypt może korzystać z usługi pobierania adresów URL, by wysyłać żądania HTTP i HTTPS oraz otrzymywać odpowiedzi. Usługa pobierania adresów URL korzysta z infrastruktury sieciowej Google w celu zwiększenia wydajności i skalowania.
Żądania wysyłane za pomocą tej usługi pochodzą ze ustalonej puli zakresów adresów IP. Jeśli chcesz dodać lub zatwierdzić te prośby, możesz wyszukać pełną listę adresów IP.
Ta usługa wymaga zakresu https://www.googleapis.com/auth/script.external_request
. W większości przypadków Apps Script automatycznie wykrywa zakresy, których potrzebuje skrypt, i uwzględnia te zakresy, ale jeśli jawnie ustawiasz zakresy, musisz ręcznie dodać ten zakres, aby używać funkcji UrlFetchApp
.
Zobacz też
Metody
Metoda | Zwracany typ | Krótki opis |
---|---|---|
fetch(url) | HTTPResponse | Wysyła żądanie pobrania adresu URL. |
fetch(url, params) | HTTPResponse | Wysyła żądanie pobrania adresu URL przy użyciu opcjonalnych parametrów zaawansowanych. |
fetchAll(requests) | HTTPResponse[] | Wysyła wiele żądań pobrania wielu adresów URL przy użyciu opcjonalnych parametrów zaawansowanych. |
getRequest(url) | Object | Zwraca żądanie, jeśli operacja została wywołana. |
getRequest(url, params) | Object | Zwraca żądanie, jeśli operacja została wywołana. |
Szczegółowa dokumentacja
fetch(url)
Wysyła żądanie pobrania adresu URL.
Działa zarówno przez HTTP, jak i 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());
Parametry
Nazwa | Typ | Opis |
---|---|---|
url | String | Adres URL do pobrania. Adres URL może mieć maksymalnie 2082 znaki. |
Powroty
HTTPResponse
– dane odpowiedzi HTTP.
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
fetch(url, params)
Wysyła żądanie pobrania adresu URL przy użyciu opcjonalnych parametrów zaawansowanych.
Działa zarówno przez HTTP, jak i 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);
Parametry
Nazwa | Typ | Opis |
---|---|---|
url | String | Adres URL do pobrania. Adres URL może mieć maksymalnie 2082 znaki. |
params | Object | Opcjonalny obiekt JavaScript określający parametry zaawansowane, zdefiniowane poniżej. |
Parametry zaawansowane
Nazwa | Typ | Opis |
---|---|---|
contentType | String | typ treści (wartość domyślna to „application/x-www-form-urlencoded”). Inny przykład typu treści to „application/xml; charset=utf-8”. |
headers | Object | mapa klucz/wartość JavaScript z nagłówkami HTTP dla żądania |
method | String | metody HTTP żądania: get , delete , patch , post lub put . Wartość domyślna to get . |
payload | String | ładunek (tj. treść POST) dla żądania. Niektóre metody HTTP (np. GET) nie akceptują ładunku. Może to być ciąg znaków, tablica bajtów, obiekt blob lub obiekt JavaScript. Obiekt JavaScript jest interpretowany jako mapowanie nazw pól formularza na wartości, gdzie wartości mogą być ciągami tekstowymi lub obiektami blob. |
useIntranet | Boolean | Rola wycofana. Spowoduje to rozpoznanie określonego adresu URL w intranecie połączonym z Twoją domeną przez (wycofane) SDC. |
validateHttpsCertificates | Boolean | Jeśli false , pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true . |
followRedirects | Boolean | Jeśli false pobieranie nie odbywa się automatycznie, zwracana jest pierwotna odpowiedź HTTP. Wartość domyślna to true . |
muteHttpExceptions | Boolean | Jeśli true nie zgłasza wyjątku, jeśli kod odpowiedzi wskazuje na błąd, a zamiast tego zwraca HTTPResponse . Wartość domyślna to false . |
escaping | Boolean | Jeśli false to zarezerwowane znaki w adresie URL, które nie zawierają kodów zmiany znaczenia. Wartość domyślna to true . |
Powroty
HTTPResponse
– dane odpowiedzi HTTP.
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
fetchAll(requests)
Wysyła wiele żądań pobrania wielu adresów URL przy użyciu opcjonalnych parametrów zaawansowanych.
Działa zarówno przez HTTP, jak i 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]);
Parametry
Nazwa | Typ | Opis |
---|---|---|
requests | Object[] | Tablica adresów URL lub obiektów JavaScript określających żądania, zgodnie z definicją poniżej. |
Parametry zaawansowane
Nazwa | Typ | Opis |
---|---|---|
url | String | adres URL do pobrania. Adres URL może mieć maksymalnie 2082 znaki. |
contentType | String | typ treści (wartość domyślna to „application/x-www-form-urlencoded”). Inny przykład typu treści to „application/xml; charset=utf-8”. |
headers | Object | mapa klucz/wartość JavaScript z nagłówkami HTTP dla żądania |
method | String | metody HTTP żądania: get , delete , patch , post lub put . Wartość domyślna to get . |
payload | String | ładunek (tj. treść POST) dla żądania. Niektóre metody HTTP (np. GET) nie akceptują ładunku. Może to być ciąg znaków, tablica bajtów, obiekt blob lub obiekt JavaScript. Obiekt JavaScript jest interpretowany jako mapowanie nazw pól formularza na wartości, gdzie wartości mogą być ciągami tekstowymi lub obiektami blob. |
useIntranet | Boolean | Rola wycofana. Spowoduje to rozpoznanie określonego adresu URL w intranecie połączonym z Twoją domeną przez (wycofane) SDC. |
validateHttpsCertificates | Boolean | Jeśli false , pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true . |
followRedirects | Boolean | Jeśli false pobieranie nie odbywa się automatycznie, zwracana jest pierwotna odpowiedź HTTP. Wartość domyślna to true . |
muteHttpExceptions | Boolean | Jeśli true , pobieranie nie zgłasza wyjątku, jeśli kod odpowiedzi wskazuje na błąd, a zamiast tego zwraca HTTPResponse . Wartość domyślna to false . |
escaping | Boolean | Jeśli jest ustawiona wartość false , znaki zarezerwowane w adresie URL nie są zmieniane. Wartość domyślna to true . |
Powroty
HTTPResponse[]
– tablica danych odpowiedzi HTTP z każdego żądania wejściowego.
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url)
Zwraca żądanie, jeśli operacja została wywołana.
Ta metoda nie wysyła żądania.
// 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]); }
Parametry
Nazwa | Typ | Opis |
---|---|---|
url | String | Adres URL do wyszukania. Adres URL może mieć maksymalnie 2082 znaki. |
Powroty
Object
– mapowanie nazwy pola na wartość. Mapa ma co najmniej te klucze: url
, method
, contentType
, payload
i headers
.
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url, params)
Zwraca żądanie, jeśli operacja została wywołana.
Ta metoda nie wysyła żądania.
Parametry
Nazwa | Typ | Opis |
---|---|---|
url | String | Adres URL do wyszukania. Adres URL może mieć maksymalnie 2082 znaki. |
params | Object | Opcjonalny obiekt JavaScript określający parametry zaawansowane, zdefiniowane poniżej. |
Parametry zaawansowane
Nazwa | Typ | Opis |
---|---|---|
contentType | String | typ treści (wartość domyślna to „application/x-www-form-urlencoded”). Inny przykład typu treści to „application/xml; charset=utf-8”. |
headers | Object | mapa klucz/wartość JavaScript z nagłówkami HTTP dla żądania |
method | String | metody HTTP żądania: get , delete , patch , post lub put . Wartość domyślna to get . |
payload | String | ładunek (tj. treść POST) dla żądania. Niektóre metody HTTP (np. GET) nie akceptują ładunku. Może to być ciąg znaków, tablica bajtów, obiekt blob lub obiekt JavaScript. Obiekt JavaScript jest interpretowany jako mapowanie nazw pól formularza na wartości, gdzie wartości mogą być ciągami tekstowymi lub obiektami blob. |
useIntranet | Boolean | Rola wycofana. Spowoduje to rozpoznanie określonego adresu URL w intranecie połączonym z Twoją domeną przez (wycofane) SDC. |
validateHttpsCertificates | Boolean | Jeśli false , pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true . |
followRedirects | Boolean | Jeśli false pobieranie nie odbywa się automatycznie, zwracana jest pierwotna odpowiedź HTTP. Wartość domyślna to true . |
muteHttpExceptions | Boolean | Jeśli true nie zgłasza wyjątku, jeśli kod odpowiedzi wskazuje na błąd, a zamiast tego zwraca HTTPResponse . Wartość domyślna to false . |
escaping | Boolean | Jeśli false zarezerwowane znaki w adresie URL nie zostaną zmienione, Wartość domyślna to true . |
Powroty
Object
– mapowanie nazwy pola na wartość. Mapa ma co najmniej te klucze: url
, method
, contentType
, payload
i headers
.
Upoważnienie
Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request