Class UrlFetchApp

UrlFetchApp

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

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

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

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

Parametry zaawansowane

NazwaTypOpis
contentTypeStringtyp treści (wartość domyślna to „application/x-www-form-urlencoded”). Inny przykład typu treści to „application/xml; charset=utf-8”.
headersObjectmapa klucz/wartość JavaScript z nagłówkami HTTP dla żądania
methodStringmetody HTTP żądania: get, delete, patch, post lub put. Wartość domyślna to get.
payloadStringł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.
useIntranetBooleanRola wycofana. Spowoduje to rozpoznanie określonego adresu URL w intranecie połączonym z Twoją domeną przez (wycofane) SDC.
validateHttpsCertificatesBooleanJeśli false, pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true.
followRedirectsBooleanJeśli false pobieranie nie odbywa się automatycznie, zwracana jest pierwotna odpowiedź HTTP. Wartość domyślna to true.
muteHttpExceptionsBooleanJeś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.
escapingBooleanJeś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

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

Parametry zaawansowane

NazwaTypOpis
urlStringadres URL do pobrania. Adres URL może mieć maksymalnie 2082 znaki.
contentTypeStringtyp treści (wartość domyślna to „application/x-www-form-urlencoded”). Inny przykład typu treści to „application/xml; charset=utf-8”.
headersObjectmapa klucz/wartość JavaScript z nagłówkami HTTP dla żądania
methodStringmetody HTTP żądania: get, delete, patch, post lub put. Wartość domyślna to get.
payloadStringł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.
useIntranetBooleanRola wycofana. Spowoduje to rozpoznanie określonego adresu URL w intranecie połączonym z Twoją domeną przez (wycofane) SDC.
validateHttpsCertificatesBooleanJeśli false, pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true.
followRedirectsBooleanJeśli false pobieranie nie odbywa się automatycznie, zwracana jest pierwotna odpowiedź HTTP. Wartość domyślna to true.
muteHttpExceptionsBooleanJeś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.
escapingBooleanJeś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

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

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

Parametry zaawansowane

NazwaTypOpis
contentTypeStringtyp treści (wartość domyślna to „application/x-www-form-urlencoded”). Inny przykład typu treści to „application/xml; charset=utf-8”.
headersObjectmapa klucz/wartość JavaScript z nagłówkami HTTP dla żądania
methodStringmetody HTTP żądania: get, delete, patch, post lub put. Wartość domyślna to get.
payloadStringł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.
useIntranetBooleanRola wycofana. Spowoduje to rozpoznanie określonego adresu URL w intranecie połączonym z Twoją domeną przez (wycofane) SDC.
validateHttpsCertificatesBooleanJeśli false, pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true.
followRedirectsBooleanJeśli false pobieranie nie odbywa się automatycznie, zwracana jest pierwotna odpowiedź HTTP. Wartość domyślna to true.
muteHttpExceptionsBooleanJeś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.
escapingBooleanJeś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