pobierać zasoby i komunikować się z innymi hostami w internecie;
Ta usługa umożliwia skryptom komunikowanie się z innymi aplikacjami lub uzyskiwanie dostępu do innych zasobów w internecie przez pobieranie adresów URL. Skrypt może używać usługi pobierania danych z adresów URL do wysyłania żądań HTTP i HTTPS oraz otrzymywania odpowiedzi. Usługa pobierania danych z adresów URL korzysta z infrastruktury sieciowej Google w celu zwiększenia wydajności i skalowalności.
Żądania wysyłane za pomocą tej usługi pochodzą z określonej puli zakresów adresów IP. Jeśli musisz dodać te żądania do listy dozwolonych lub je zatwierdzić, możesz sprawdzić 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, których skrypt potrzebuje, ale jeśli ustawiasz zakresy
jawnie, musisz ręcznie dodać ten zakres, aby używać 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 użyciem opcjonalnych parametrów zaawansowanych. |
fetch | HTTPResponse[] | Wysyła wiele żądań pobrania wielu adresów URL przy użyciu opcjonalnych parametrów zaawansowanych. |
get | Object | Zwraca żądanie, które jest wysyłane, jeśli operacja została wywołana. |
get | Object | Zwraca żądanie, które zostanie wysłane, jeśli operacja zostanie wywołana. |
Szczegółowa dokumentacja
fetch(url)
Wysyła żądanie pobrania adresu URL.
Działa to zarówno w przypadku protokołu HTTP, jak i 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());
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
url | String | Adres URL do pobrania. Adres URL może zawierać maksymalnie 2082 znaki. |
Powrót
HTTPResponse – dane odpowiedzi HTTP.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem 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 użyciem opcjonalnych parametrów zaawansowanych.
Działa to zarówno w przypadku protokołu HTTP, jak i 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);
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
url | String | Adres URL do pobrania. Adres URL może zawierać maksymalnie 2082 znaki. |
params | Object | Opcjonalny obiekt JavaScriptu określający parametry zaawansowane zdefiniowane poniżej. |
Parametry zaawansowane
| Nazwa | Typ | Opis |
|---|---|---|
content | String | typ treści (domyślnie 'application/x-www-form-urlencoded'). Inny przykład typu treści to „application/xml; charset=utf-8”. |
headers | Object | mapa klucz-wartość nagłówków HTTP żądania w JavaScript |
method | String | metoda HTTP żądania: get, delete, patch, post lub put; Wartość domyślna to get. |
payload | String | ładunek (czyli treść żądania POST); 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 w JavaScripcie jest interpretowany jako mapa nazw pól formularza na wartości, przy czym wartości mogą być ciągami znaków lub obiektami BLOB. |
use | Boolean | Rola wycofana. To polecenie nakazuje pobieranie adresu URL w intranecie połączonym z Twoją domeną za pomocą (przestarzałego) SDC. |
validate | Boolean | Jeśli false pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true. |
follow | Boolean | Jeśli false pobieranie nie następuje automatycznie,
stosowane są przekierowania HTTP. Zwracana jest oryginalna odpowiedź HTTP. Wartość domyślna to true. |
mute | Boolean | Jeśli true pobieranie nie zgłasza wyjątku, gdy kod odpowiedzi wskazuje błąd, a zamiast tego zwraca HTTPResponse. Wartość domyślna to false. |
escaping | Boolean | Jeśli false zarezerwowanych znaków w adresie URL nie
zmieniono. Wartość domyślna to true. |
Powrót
HTTPResponse – dane odpowiedzi HTTP.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem 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 przy użyciu opcjonalnych parametrów zaawansowanych.
Działa to zarówno w przypadku protokołu HTTP, jak i 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]);
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
requests | Object[] | Tablica adresów URL lub obiektów JavaScriptu określających żądania zgodnie z definicją podaną poniżej. |
Parametry zaawansowane
| Nazwa | Typ | Opis |
|---|---|---|
url | String | adres URL do pobrania, Adres URL może zawierać maksymalnie 2082 znaki. |
content | String | typ treści (domyślnie 'application/x-www-form-urlencoded'). Inny przykład typu treści to „application/xml; charset=utf-8”. |
headers | Object | mapa klucz-wartość nagłówków HTTP żądania w JavaScript |
method | String | metoda HTTP żądania: get, delete, patch, post lub put; Wartość domyślna to get. |
payload | String | ładunek (czyli treść żądania POST); 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 w JavaScripcie jest interpretowany jako mapa nazw pól formularza na wartości, przy czym wartości mogą być ciągami znaków lub obiektami BLOB. |
use | Boolean | Rola wycofana. To polecenie nakazuje pobieranie adresu URL w intranecie połączonym z Twoją domeną za pomocą (przestarzałego) SDC. |
validate | Boolean | Jeśli false pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true. |
follow | Boolean | Jeśli false pobieranie nie następuje automatycznie,
stosowane są przekierowania HTTP. Zwracana jest oryginalna odpowiedź HTTP. Wartość domyślna to true. |
mute | Boolean | Jeśli true, pobieranie nie zgłasza wyjątku, gdy kod odpowiedzi wskazuje błąd, ale zamiast tego zwraca HTTPResponse. Wartość domyślna to false. |
escaping | Boolean | Jeśli false, znaki zarezerwowane w adresie URL nie są poprzedzone znakiem zmiany znaczenia. Wartość domyślna to true. |
Powrót
HTTPResponse[] – tablica danych odpowiedzi HTTP z każdego żądania wejściowego.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url)
Zwraca żądanie, które jest wysyłane, 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. const response = UrlFetchApp.getRequest('http://www.google.com/'); for (const i in response) { Logger.log(`${i}: ${response[i]}`); }
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
url | String | Adres URL do wyszukania. Adres URL może zawierać maksymalnie 2082 znaki. |
Powrót
Object – mapa zawierająca nazwy pól i ich wartości. Mapa zawiera co najmniej te klucze: url, method, contentType, payload i headers.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request
getRequest(url, params)
Zwraca żądanie, które zostanie wysłane, jeśli operacja zostanie wywołana.
Ta metoda nie wysyła żądania.
Parametry
| Nazwa | Typ | Opis |
|---|---|---|
url | String | Adres URL do wyszukania. Adres URL może zawierać maksymalnie 2082 znaki. |
params | Object | Opcjonalny obiekt JavaScriptu określający parametry zaawansowane zdefiniowane poniżej. |
Parametry zaawansowane
| Nazwa | Typ | Opis |
|---|---|---|
content | String | typ treści (domyślnie 'application/x-www-form-urlencoded'). Inny przykład typu treści to „application/xml; charset=utf-8”. |
headers | Object | mapa klucz-wartość nagłówków HTTP żądania w JavaScript |
method | String | metoda HTTP żądania: get, delete, patch, post lub put; Wartość domyślna to get. |
payload | String | ładunek (czyli treść żądania POST); 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 w JavaScripcie jest interpretowany jako mapa nazw pól formularza na wartości, przy czym wartości mogą być ciągami znaków lub obiektami BLOB. |
use | Boolean | Rola wycofana. To polecenie nakazuje pobieranie adresu URL w intranecie połączonym z Twoją domeną za pomocą (przestarzałego) SDC. |
validate | Boolean | Jeśli false pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true. |
follow | Boolean | Jeśli false pobieranie nie następuje automatycznie,
stosowane są przekierowania HTTP. Zwracana jest oryginalna odpowiedź HTTP. Wartość domyślna to true. |
mute | Boolean | Jeśli true pobieranie nie zgłasza wyjątku, gdy kod odpowiedzi wskazuje błąd, a zamiast tego zwraca HTTPResponse. Wartość domyślna to false. |
escaping | Boolean | Jeśli false zarezerwowanych znaków w adresie URL nie można
usunąć. Wartość domyślna to true. |
Powrót
Object – mapa zawierająca nazwy pól i ich wartości. Mapa zawiera co najmniej te klucze: url, method, contentType, payload i headers.
Autoryzacja
Skrypty korzystające z tej metody wymagają autoryzacji z użyciem co najmniej jednego z tych zakresów:
-
https://www.googleapis.com/auth/script.external_request