Class UrlFetchApp

UrlFetch

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

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

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

NazwaTypOpis
urlStringAdres URL do pobrania. Może się składać z maksymalnie 2082 znaków.
paramsObjectOpcjonalny obiekt JavaScript określający zaawansowane parametry zgodnie z opisem poniżej.

Parametry zaawansowane

NazwaTypOpis
contentTypeStringtyp treści (domyślnie jest to 'application/x-www-form-urlencoded&#39); Innym przykładem typu treści jest 'application/xml; charset=utf-8'.
headersObjectmapa klucza/wartości nagłówków HTTP dla żądania;
methodStringmetodę HTTP żądania: get, delete, patch, post lub put. Domyślnym ustawieniem jest get.
payloadStringł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.
useIntranetBooleanRola wycofana. Spowoduje to rozpoczęcie pobierania określonego adresu URL w intranecie połączonym z Twoją domeną przez (wycofane) SDC.
validateHttpsCertificatesBooleanJeśli zasada false jest ignorowana, wszystkie żądania certyfikatów HTTPS są ignorowane. Domyślnym ustawieniem jest true.
followRedirectsBooleanJeśli false nie pobierze automatycznie przekierowań HTTP, zostanie zwrócona pierwotna odpowiedź HTTP. Domyślnym ustawieniem jest true.
muteHttpExceptionsBooleanJeśli true nie pobierze wyjątku, jeśli kod odpowiedzi będzie wskazywać niepowodzenie, i zwraca HTTPResponse. Wartość domyślna to false.
escapingBooleanJeś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

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

Parametry zaawansowane

NazwaTypOpis
urlStringadresu URL do pobrania. Może się składać z maksymalnie 2082 znaków.
contentTypeStringtyp treści (domyślnie jest to 'application/x-www-form-urlencoded&#39); Innym przykładem typu treści jest 'application/xml; charset=utf-8'.
headersObjectmapa klucza/wartości nagłówków HTTP dla żądania;
methodStringmetodę HTTP żądania: get, delete, patch, post lub put. Domyślnym ustawieniem jest get.
payloadStringł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.
useIntranetBooleanRola wycofana. Spowoduje to rozpoczęcie pobierania określonego adresu URL w intranecie połączonym z Twoją domeną przez (wycofane) SDC.
validateHttpsCertificatesBooleanJeśli zasada false jest ignorowana, wszystkie żądania certyfikatów HTTPS są ignorowane. Domyślnym ustawieniem jest true.
followRedirectsBooleanJeśli false nie pobierze automatycznie przekierowań HTTP, zostanie zwrócona pierwotna odpowiedź HTTP. Domyślnym ustawieniem jest true.
muteHttpExceptionsBooleanJeśli true, nie zostanie pobrany wyjątek, jeśli kod odpowiedzi wskazuje na niepowodzenie, a zwraca HTTPResponse. Wartość domyślna to false.
escapingBooleanW 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

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

NazwaTypOpis
urlStringAdres URL do wyszukiwania. Może się składać z maksymalnie 2082 znaków.
paramsObjectOpcjonalny obiekt JavaScript określający zaawansowane parametry zgodnie z opisem poniżej.

Parametry zaawansowane

NazwaTypOpis
contentTypeStringtyp treści (domyślnie jest to 'application/x-www-form-urlencoded&#39); Innym przykładem typu treści jest 'application/xml; charset=utf-8'.
headersObjectmapa klucza/wartości nagłówków HTTP dla żądania;
methodStringmetodę HTTP żądania: get, delete, patch, post lub put. Domyślnym ustawieniem jest get.
payloadStringł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.
useIntranetBooleanRola wycofana. Spowoduje to rozpoczęcie pobierania określonego adresu URL w intranecie połączonym z Twoją domeną przez (wycofane) SDC.
validateHttpsCertificatesBooleanJeśli zasada false jest ignorowana, wszystkie żądania certyfikatów HTTPS są ignorowane. Domyślnym ustawieniem jest true.
followRedirectsBooleanJeśli false nie pobierze automatycznie przekierowań HTTP, zostanie zwrócona pierwotna odpowiedź HTTP. Domyślnym ustawieniem jest true.
muteHttpExceptionsBooleanJeśli true nie pobierze wyjątku, jeśli kod odpowiedzi będzie wskazywać niepowodzenie, i zwraca HTTPResponse. Wartość domyślna to false.
escapingBooleanJeś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