Pobieranie zasobów i komunikacja z innymi hostami przez internet.
Ta usługa umożliwia skryptom komunikowanie się z innymi aplikacjami lub uzyskiwanie dostępu do innych zasobów w internecie za pomocą pobierania adresów URL. Skrypt może używać usługi pobierania adresów URL do wysyłania żądań HTTP i HTTPS oraz odbierania odpowiedzi. Usługa pobierania adresów URL korzysta z infrastruktury sieci Google do celów związanych ze skutecznością i skalowaniem.
Żądania wysyłane za pomocą tej usługi pochodzą ze zbioru zakresów adresów IP. Jeśli chcesz dodać te adresy do listy dozwolonych lub je zatwierdzić, 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 i uwzględnia zakresy potrzebne przez skrypt, ale jeśli wyznaczasz zakresy, musisz dodać je ręcznie, aby korzystać z 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 z opcjonalnymi parametrami zaawansowanymi. |
fetchAll(requests) | HTTPResponse[] | Wysyła wiele żądań pobrania wielu adresów URL z opcjonalnymi parametrami zaawansowanymi. |
getRequest(url) | Object | Zwraca żądanie, które zostało wysłane, jeśli operacja została wywołana. |
getRequest(url, params) | Object | Zwraca żądanie, które zostało wysłane, jeśli operacja została wywołana. |
Szczegółowa dokumentacja
fetch(url)
Wysyła żądanie pobrania adresu URL.
Ta funkcja 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. Może się składać z maksymalnie 2082 znaków. |
Zwróć
HTTPResponse
– dane odpowiedzi HTTP,
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
fetch(url, params)
Wysyła żądanie pobrania adresu URL z opcjonalnymi parametrami zaawansowanymi.
Ta funkcja 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. Może się składać z maksymalnie 2082 znaków. |
params | Object | Opcjonalny obiekt JavaScript określający zaawansowane parametry zgodnie z opisem poniżej. |
Parametry zaawansowane
Nazwa | Typ | Opis |
---|---|---|
contentType | String | typ treści (domyślnie jest to 'application/x-www-form-urlencoded'); Innym przykładem typu treści jest 'application/xml; charset=utf-8'. |
headers | Object | mapa klucza/wartości nagłówków HTTP dla żądania; |
method | String | metodę HTTP żądania: get , delete , patch , post lub put . Domyślnym ustawieniem jest get . |
payload | String | ładunek (tj. treść POST) żądania. Niektóre metody HTTP (np. GET) nie akceptują ładunku. Może to być ciąg tekstowy, tablica bajtów, blob lub obiekt JavaScript. Obiekt JavaScript jest interpretowany jako mapa nazw pól formularza do wartości, w której wartości mogą być ciągami znaków lub blobami. |
useIntranet | Boolean | Rola wycofana. Spowoduje to rozpoczęcie pobierania określonego adresu URL w intranecie połączonym z Twoją domeną przez (wycofane) SDC. |
validateHttpsCertificates | Boolean | Jeśli zasada false jest ignorowana, wszystkie żądania certyfikatów HTTPS są ignorowane. Domyślnym ustawieniem jest true . |
followRedirects | Boolean | Jeśli false nie pobierze automatycznie przekierowań HTTP, zostanie zwrócona pierwotna odpowiedź HTTP. Domyślnym ustawieniem jest true . |
muteHttpExceptions | Boolean | Jeśli true nie pobierze wyjątku, jeśli kod odpowiedzi będzie wskazywać niepowodzenie, i zwraca HTTPResponse . Wartość domyślna to false . |
escaping | Boolean | Jeśli znaki false w adresie URL nie zawierają znaku zmiany znaczenia, Domyślnym ustawieniem jest true . |
Zwróć
HTTPResponse
– dane odpowiedzi HTTP,
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
fetchAll(requests)
Wysyła wiele żądań pobrania wielu adresów URL z opcjonalnymi parametrami zaawansowanymi.
Ta funkcja 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 | adresu URL do pobrania. Może się składać z maksymalnie 2082 znaków. |
contentType | String | typ treści (domyślnie jest to 'application/x-www-form-urlencoded'); Innym przykładem typu treści jest 'application/xml; charset=utf-8'. |
headers | Object | mapa klucza/wartości nagłówków HTTP dla żądania; |
method | String | metodę HTTP żądania: get , delete , patch , post lub put . Domyślnym ustawieniem jest get . |
payload | String | ładunek (tj. treść POST) żądania. Niektóre metody HTTP (np. GET) nie akceptują ładunku. Może to być ciąg tekstowy, tablica bajtów, blob lub obiekt JavaScript. Obiekt JavaScript jest interpretowany jako mapa nazw pól formularza do wartości, w której wartości mogą być ciągami znaków lub blobami. |
useIntranet | Boolean | Rola wycofana. Spowoduje to rozpoczęcie pobierania określonego adresu URL w intranecie połączonym z Twoją domeną przez (wycofane) SDC. |
validateHttpsCertificates | Boolean | Jeśli zasada false jest ignorowana, wszystkie żądania certyfikatów HTTPS są ignorowane. Domyślnym ustawieniem jest true . |
followRedirects | Boolean | Jeśli false nie pobierze automatycznie przekierowań HTTP, zostanie zwrócona pierwotna odpowiedź HTTP. Domyślnym ustawieniem jest true . |
muteHttpExceptions | Boolean | Jeśli true , nie zostanie pobrany wyjątek, jeśli kod odpowiedzi wskazuje na niepowodzenie, a zwraca HTTPResponse . Wartość domyślna to false . |
escaping | Boolean | W przypadku wartości false znaki zarezerwowane w adresach URL nie są objęte zmianą znaczenia. Domyślnym ustawieniem jest true . |
Zwróć
HTTPResponse[]
– tablica danych odpowiedzi HTTP z każdego żądania wejściowego;
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url)
Zwraca żądanie, które zostało wysłane, jeśli operacja została wywołana.
Ta metoda nie przekazuje żą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 wyszukiwania. Może się składać z maksymalnie 2082 znaków. |
Zwróć
Object
– mapowanie nazwy pola na wartość; Mapa zawiera co najmniej następujące klucze: url
,
method
, contentType
, payload
i headers
.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url, params)
Zwraca żądanie, które zostało wysłane, jeśli operacja została wywołana.
Ta metoda nie przekazuje żądania.
Parametry
Nazwa | Typ | Opis |
---|---|---|
url | String | Adres URL do wyszukiwania. Może się składać z maksymalnie 2082 znaków. |
params | Object | Opcjonalny obiekt JavaScript określający zaawansowane parametry zgodnie z opisem poniżej. |
Parametry zaawansowane
Nazwa | Typ | Opis |
---|---|---|
contentType | String | typ treści (domyślnie jest to 'application/x-www-form-urlencoded'); Innym przykładem typu treści jest 'application/xml; charset=utf-8'. |
headers | Object | mapa klucza/wartości nagłówków HTTP dla żądania; |
method | String | metodę HTTP żądania: get , delete , patch , post lub put . Domyślnym ustawieniem jest get . |
payload | String | ładunek (tj. treść POST) żądania. Niektóre metody HTTP (np. GET) nie akceptują ładunku. Może to być ciąg tekstowy, tablica bajtów, blob lub obiekt JavaScript. Obiekt JavaScript jest interpretowany jako mapa nazw pól formularza do wartości, w której wartości mogą być ciągami znaków lub blobami. |
useIntranet | Boolean | Rola wycofana. Spowoduje to rozpoczęcie pobierania określonego adresu URL w intranecie połączonym z Twoją domeną przez (wycofane) SDC. |
validateHttpsCertificates | Boolean | Jeśli zasada false jest ignorowana, wszystkie żądania certyfikatów HTTPS są ignorowane. Domyślnym ustawieniem jest true . |
followRedirects | Boolean | Jeśli false nie pobierze automatycznie przekierowań HTTP, zostanie zwrócona pierwotna odpowiedź HTTP. Domyślnym ustawieniem jest true . |
muteHttpExceptions | Boolean | Jeśli true nie pobierze wyjątku, jeśli kod odpowiedzi będzie wskazywać niepowodzenie, i zwraca HTTPResponse . Wartość domyślna to false . |
escaping | Boolean | Jeśli zarezerwowane znaki w adresie URL (false ) nie są objęte zmianą znaczenia, Domyślnym ustawieniem jest true . |
Zwróć
Object
– mapowanie nazwy pola na wartość; Mapa zawiera co najmniej następujące klucze: url
,
method
, contentType
, payload
i headers
.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji przy użyciu co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request