Class UrlFetchApp

UrlFetchApp

Pobieranie zasobów i komunikowanie się z innymi hostami przez internet.

Ta usługa pozwala skryptom komunikować się z innymi aplikacjami lub uzyskiwać dostęp do innych zasobów w internecie, pobierając adresy URL. Skrypt może używać usługi pobierania adresów URL do wysyłania żądań HTTP i HTTPS żądań i otrzymywania odpowiedzi. Usługa pobierania adresów URL korzysta z infrastruktury sieciowej Google pod kątem wydajności i skalowania.

Żądania wysyłane za pomocą tej usługi pochodzą z określonej puli zakresów adresów IP. Możesz sprawdzić pełną listę adresów IP, jeśli: musisz dodać te prośby do listy dozwolonych lub je zatwierdzić.

Ta usługa wymaga https://www.googleapis.com/auth/script.external_request zakresu. W większości przypadków Apps Script automatycznie wykrywa i uwzględnia zakresy, których potrzebuje skrypt, Jeśli jednak ustawiasz zakresy bezpośrednio, musisz ręcznie dodać ten zakres, aby używać UrlFetchApp.

Zobacz też

Metody

MetodaZwracany typKrótki opis
fetch(url)HTTPResponseWysyłam żądanie pobrania adresu URL.
fetch(url, params)HTTPResponseWysyłam żądanie pobrania adresu URL przy użyciu opcjonalnych parametrów zaawansowanych.
fetchAll(requests)HTTPResponse[]Wysyła wiele żądań pobrania wielu adresów URL za pomocą opcjonalnych parametrów zaawansowanych.
getRequest(url)ObjectZwraca żądanie wysłane po wywołaniu operacji.
getRequest(url, params)ObjectZwraca żądanie wysłane w przypadku wywołania operacji.

Szczegółowa dokumentacja

fetch(url)

Wysyłam żądanie pobrania adresu URL.

Działają one zarówno w przypadku protokołów 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.

Powrót

HTTPResponse – dane odpowiedzi HTTP.

Autoryzacja

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łam żądanie pobrania adresu URL przy użyciu opcjonalnych parametrów zaawansowanych.

Działają one zarówno w przypadku protokołów 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 zaawansowane parametry zdefiniowane poniżej.

Parametry zaawansowane

NazwaTypOpis
contentTypeStringtyp treści (wartość domyślna to 'application/x-www-form-urlencoded'). Innym przykładem typu treści jest „application/xml; charset=utf-8'.
headersObjectmapa klucz-wartość JavaScriptu nagłówków HTTP dla żądania
methodStringmetodę HTTP żądania: get, delete, patch, post lub put. Wartość domyślna to get.
payloadStringładunek (czyli treść POST) żądania. Tak Metody HTTP (np. GET) nie akceptują ładunku. Może to być ciąg, tablica bajtów, blob czy JavaScript. Obiekt JavaScript jest interpretowany jako mapa pola formularza nazwy na wartości, gdzie wartościami mogą być ciągi tekstowe lub obiekty blob.
useIntranetBooleanRola wycofana. Instruuje to pobieranie, aby rozwiązać określony Adres URL w intranecie połączony z Twoją domeną przez (wycofany) SDC
validateHttpsCertificatesBooleanJeśli false, pobieranie ignoruje dowolne nieprawidłowe certyfikaty dla żądań HTTPS. Wartość domyślna to true.
followRedirectsBooleanJeśli false, pobieranie nie zostanie automatycznie należy stosować przekierowania HTTP; zwraca pierwotną odpowiedź HTTP. Wartość domyślna to true.
muteHttpExceptionsBooleanJeśli true, pobieranie nie zwróci wyjątek, jeśli kod odpowiedzi wskazuje na niepowodzenie, a zamiast tego zwraca HTTPResponse. Wartość domyślna to false.
escapingBooleanJeśli false znaku zarezerwowanego w adresie URL nie jest uciekł. Wartość domyślna to true.

Powrót

HTTPResponse – dane odpowiedzi HTTP.

Autoryzacja

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 za pomocą opcjonalnych parametrów zaawansowanych.

Działają one zarówno w przypadku protokołów 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ąca żą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'). Innym przykładem typu treści jest „application/xml; charset=utf-8'.
headersObjectmapa klucz-wartość JavaScriptu nagłówków HTTP dla żądania
methodStringmetodę HTTP żądania: get, delete, patch, post lub put. Wartość domyślna to get.
payloadStringładunek (czyli treść POST) żądania. Tak Metody HTTP (np. GET) nie akceptują ładunku. Może to być ciąg, tablica bajtów, blob czy JavaScript. Obiekt JavaScript jest interpretowany jako mapa pola formularza nazwy na wartości, gdzie wartościami mogą być ciągi tekstowe lub obiekty blob.
useIntranetBooleanRola wycofana. Instruuje to pobieranie, aby rozwiązać określony Adres URL w intranecie połączony z Twoją domeną przez (wycofany) SDC
validateHttpsCertificatesBooleanJeśli false, pobieranie ignoruje dowolne nieprawidłowe certyfikaty dla żądań HTTPS. Wartość domyślna to true.
followRedirectsBooleanJeśli false, pobieranie nie zostanie automatycznie należy stosować przekierowania HTTP; zwraca pierwotną odpowiedź HTTP. Wartość domyślna to true.
muteHttpExceptionsBooleanJeśli true, pobieranie nie zwróci wyjątek, jeśli kod odpowiedzi wskazuje na niepowodzenie, a zamiast tego zwraca HTTPResponse. Wartość domyślna to false.
escapingBooleanJeśli false, znaki zarezerwowane w adresie URL nie są uciekł. 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 co najmniej jednym z tych zakresów:

  • https://www.googleapis.com/auth/script.external_request

getRequest(url)

Zwraca żądanie wysłane po wywołaniu operacji.

Ta metoda nie powoduje przesłania żą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.

Powrót

Object – mapa pól Nazwa pola na Wartość. Mapa zawiera co najmniej te klucze: url, method, contentType, payload i headers.

Autoryzacja

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 wysłane w przypadku wywołania operacji.

Ta metoda nie powoduje przesłania żądania.

Parametry

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

Parametry zaawansowane

NazwaTypOpis
contentTypeStringtyp treści (wartość domyślna to 'application/x-www-form-urlencoded'). Innym przykładem typu treści jest „application/xml; charset=utf-8'.
headersObjectmapa klucz-wartość JavaScriptu nagłówków HTTP dla żądania
methodStringmetodę HTTP żądania: get, delete, patch, post lub put. Wartość domyślna to get.
payloadStringładunek (czyli treść POST) żądania. Tak Metody HTTP (np. GET) nie akceptują ładunku. Może to być ciąg, tablica bajtów, blob czy JavaScript. Obiekt JavaScript jest interpretowany jako mapa pola formularza nazwy na wartości, gdzie wartościami mogą być ciągi tekstowe lub obiekty blob.
useIntranetBooleanRola wycofana. Instruuje to pobieranie, aby rozwiązać określony Adres URL w intranecie połączony z Twoją domeną przez (wycofany) SDC
validateHttpsCertificatesBooleanJeśli false, pobieranie ignoruje dowolne nieprawidłowe certyfikaty dla żądań HTTPS. Wartość domyślna to true.
followRedirectsBooleanJeśli false, pobieranie nie zostanie automatycznie należy stosować przekierowania HTTP; zwraca pierwotną odpowiedź HTTP. Wartość domyślna to true.
muteHttpExceptionsBooleanJeśli true, pobieranie nie zwróci wyjątek, jeśli kod odpowiedzi wskazuje na niepowodzenie, a zamiast tego zwraca HTTPResponse. Wartość domyślna to false.
escapingBooleanJeśli false znaku zarezerwowanego w adresie URL nie jest uciekł. Wartość domyślna to true.

Powrót

Object – mapa pól Nazwa pola na Wartość. Mapa zawiera co najmniej te klucze: url, method, contentType, payload i headers.

Autoryzacja

Skrypty korzystające z tej metody wymagają autoryzacji z co najmniej jednym z tych zakresów:

  • https://www.googleapis.com/auth/script.external_request