Class UrlFetchApp

UrlFetchApp

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

MetodaZwracany typKrótki opis
fetch(url)HTTPResponseWysyła żądanie pobrania adresu URL.
fetch(url, params)HTTPResponseWysyła żądanie pobrania adresu URL z użyciem 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)ObjectZwraca żądanie, które jest wysyłane, jeśli operacja została wywołana.
getRequest(url, params)ObjectZwraca żą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

NazwaTypOpis
urlStringAdres 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

NazwaTypOpis
urlStringAdres URL do pobrania. Adres URL może zawierać maksymalnie 2082 znaki.
paramsObjectOpcjonalny obiekt JavaScriptu określający parametry zaawansowane zdefiniowane poniżej.

Parametry zaawansowane

NazwaTypOpis
contentTypeStringtyp treści (domyślnie 'application/x-www-form-urlencoded'). Inny przykład typu treści to „application/xml; charset=utf-8”.
headersObjectmapa klucz-wartość nagłówków HTTP żądania w JavaScript
methodStringmetoda HTTP żądania: get, delete, patch, post lub put; Wartość domyślna to get.
payloadStringł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.
useIntranetBooleanRola wycofana. To polecenie nakazuje pobieranie adresu URL w intranecie połączonym z Twoją domeną za pomocą (przestarzałego) SDC.
validateHttpsCertificatesBooleanJeśli false pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true.
followRedirectsBooleanJeśli false pobieranie nie następuje automatycznie, stosowane są przekierowania HTTP. Zwracana jest oryginalna odpowiedź HTTP. Wartość domyślna to true.
muteHttpExceptionsBooleanJeśli true pobieranie nie zgłasza wyjątku, gdy kod odpowiedzi wskazuje błąd, a zamiast tego zwraca HTTPResponse. Wartość domyślna to false.
escapingBooleanJeś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

NazwaTypOpis
requestsObject[]Tablica adresów URL lub obiektów JavaScriptu określających żądania zgodnie z definicją podaną poniżej.

Parametry zaawansowane

NazwaTypOpis
urlStringadres URL do pobrania, Adres URL może zawierać maksymalnie 2082 znaki.
contentTypeStringtyp treści (domyślnie 'application/x-www-form-urlencoded'). Inny przykład typu treści to „application/xml; charset=utf-8”.
headersObjectmapa klucz-wartość nagłówków HTTP żądania w JavaScript
methodStringmetoda HTTP żądania: get, delete, patch, post lub put; Wartość domyślna to get.
payloadStringł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.
useIntranetBooleanRola wycofana. To polecenie nakazuje pobieranie adresu URL w intranecie połączonym z Twoją domeną za pomocą (przestarzałego) SDC.
validateHttpsCertificatesBooleanJeśli false pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true.
followRedirectsBooleanJeśli false pobieranie nie następuje automatycznie, stosowane są przekierowania HTTP. Zwracana jest oryginalna odpowiedź HTTP. Wartość domyślna to true.
muteHttpExceptionsBooleanJeśli true, pobieranie nie zgłasza wyjątku, gdy kod odpowiedzi wskazuje błąd, ale zamiast tego zwraca HTTPResponse. Wartość domyślna to false.
escapingBooleanJeś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

NazwaTypOpis
urlStringAdres 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, payloadheaders.

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

NazwaTypOpis
urlStringAdres URL do wyszukania. Adres URL może zawierać maksymalnie 2082 znaki.
paramsObjectOpcjonalny obiekt JavaScriptu określający parametry zaawansowane zdefiniowane poniżej.

Parametry zaawansowane

NazwaTypOpis
contentTypeStringtyp treści (domyślnie 'application/x-www-form-urlencoded'). Inny przykład typu treści to „application/xml; charset=utf-8”.
headersObjectmapa klucz-wartość nagłówków HTTP żądania w JavaScript
methodStringmetoda HTTP żądania: get, delete, patch, post lub put; Wartość domyślna to get.
payloadStringł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.
useIntranetBooleanRola wycofana. To polecenie nakazuje pobieranie adresu URL w intranecie połączonym z Twoją domeną za pomocą (przestarzałego) SDC.
validateHttpsCertificatesBooleanJeśli false pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true.
followRedirectsBooleanJeśli false pobieranie nie następuje automatycznie, stosowane są przekierowania HTTP. Zwracana jest oryginalna odpowiedź HTTP. Wartość domyślna to true.
muteHttpExceptionsBooleanJeśli true pobieranie nie zgłasza wyjątku, gdy kod odpowiedzi wskazuje błąd, a zamiast tego zwraca HTTPResponse. Wartość domyślna to false.
escapingBooleanJeś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, payloadheaders.

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