Class UrlFetchApp

UrlPobierzAplikacja

Pobierać zasoby i komunikować się 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 przez pobieranie adresów URL. Skrypt może korzystać z usługi pobierania adresów URL do wysyłania żądań HTTP i HTTPS oraz otrzymywania odpowiedzi. Usługa pobierania 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 zdefiniowanego zbioru zakresów adresów IP. Jeśli chcesz dodać te adresy do listy dozwolonych lub zatwierdzić te prośby, sprawdź 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 Google Apps Script automatycznie wykrywa i włącza zakresy potrzebne skryptowi, ale jeśli ustawiasz je wyraźnie, musisz ręcznie dodać ten zakres, aby go używać. UrlFetchApp

Zobacz też

Metody

MetodaZwracany typKrótki opis
fetch(url)HTTPResponseWysyła żądanie pobierania adresu URL.
fetch(url, params)HTTPResponseWysyła żądanie pobierania adresu URL za pomocą opcjonalnych parametrów zaawansowanych.
fetchAll(requests)HTTPResponse[]Wysyła wiele żądań, aby pobrać wiele adresów URL, używając opcjonalnych parametrów zaawansowanych.
getRequest(url)ObjectZwraca żądanie, które zostało wykonane, jeśli wywołano operację.
getRequest(url, params)ObjectZwraca żądanie, które zostałoby wykonane, gdyby operacja została wywołana.

Szczegółowa dokumentacja

fetch(url)

Wysyła żądanie pobierania adresu URL.

Działa to zarówno w przypadku 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, które korzystają 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 pobierania adresu URL za pomocą opcjonalnych parametrów zaawansowanych.

Działa to zarówno w przypadku 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 JavaScript określający parametry zaawansowane zgodnie z definicją poniżej.

Parametry zaawansowane

NazwaTypOpis
contentTypeStringtyp treści (domyślnie „application/x-www-form-urlencoded”). Innym przykładem typu treści jest 'application/xml;charset=utf-8'.
headersObjectmapę kluczy i wartości w JavaScriptie nagłówków HTTP żądania;
methodStringmetodę 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, blob lub obiekt JavaScript. Obiekt JavaScript jest interpretowany jako mapa nazw pól formularza na wartości, gdzie wartości mogą być ciągami znaków lub blobami.
useIntranetBooleanRola wycofana. To polecenie instruuje funkcję pobierania, aby rozwiązać określony URL w intranetie połączonym z Twoją domeną za pomocą (wycofanego) SDC.
validateHttpsCertificatesBooleanJeśli false, pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true.
followRedirectsBooleanJeśli false, pobieranie nie będzie automatycznie stosować przekierowań HTTP i zwróci pierwotną odpowiedź HTTP. Wartość domyślna to true.
muteHttpExceptionsBooleanJeśli true, pobieranie nie powoduje wyjątku, gdy kod odpowiedzi wskazuje na błąd, a zamiast tego zwraca HTTPResponse. Wartość domyślna to false.
escapingBooleanJeśli w adresie URL nie są ujęte w kodach zmiany znaczenia znaki zarezerwowane false. Wartość domyślna to true.

Powrót

HTTPResponse – dane odpowiedzi HTTP.

Autoryzacja

Skrypty, które korzystają 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ń, aby pobrać wiele adresów URL, używając opcjonalnych parametrów zaawansowanych.

Działa to zarówno w przypadku 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 JavaScript 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”). Innym przykładem typu treści jest 'application/xml;charset=utf-8'.
headersObjectmapę kluczy i wartości w JavaScriptie nagłówków HTTP żądania;
methodStringmetodę 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, blob lub obiekt JavaScript. Obiekt JavaScript jest interpretowany jako mapa nazw pól formularza na wartości, gdzie wartości mogą być ciągami znaków lub blobami.
useIntranetBooleanRola wycofana. To polecenie instruuje funkcję pobierania, aby rozwiązać określony URL w intranetie połączonym z Twoją domeną za pomocą (wycofanego) SDC.
validateHttpsCertificatesBooleanJeśli false, pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true.
followRedirectsBooleanJeśli false, pobieranie nie będzie automatycznie stosować przekierowań HTTP i zwróci pierwotną odpowiedź HTTP. Wartość domyślna to true.
muteHttpExceptionsBooleanJeśli true, pobieranie nie powoduje wyjątku, gdy kod odpowiedzi wskazuje na błąd, a zamiast tego zwraca HTTPResponse. Wartość domyślna to false.
escapingBooleanJeśli false, znaki zarezerwowane w adresie URL nie są zamieniane. Wartość domyślna to true.

Powrót

HTTPResponse[] – tablica danych odpowiedzi HTTP z każdego żądania wejściowego.

Autoryzacja

Skrypty, które korzystają 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, które zostało wykonane, jeśli wywołano operację.

Ta metoda nie powoduje wysłania żą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 – mapowanie nazwy pola na wartość. Mapa zawiera co najmniej te klucze: url, method, contentType, payloadheaders.

Autoryzacja

Skrypty, które korzystają 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, które zostałoby wykonane, gdyby operacja została wywołana.

Ta metoda nie powoduje wysłania żądania.

Parametry

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

Parametry zaawansowane

NazwaTypOpis
contentTypeStringtyp treści (domyślnie „application/x-www-form-urlencoded”). Innym przykładem typu treści jest 'application/xml;charset=utf-8'.
headersObjectmapę kluczy i wartości w JavaScriptie nagłówków HTTP żądania;
methodStringmetodę 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, blob lub obiekt JavaScript. Obiekt JavaScript jest interpretowany jako mapa nazw pól formularza na wartości, gdzie wartości mogą być ciągami znaków lub blobami.
useIntranetBooleanRola wycofana. To polecenie instruuje funkcję pobierania, aby rozwiązać określony URL w intranetie połączonym z Twoją domeną za pomocą (wycofanego) SDC.
validateHttpsCertificatesBooleanJeśli false, pobieranie ignoruje wszystkie nieprawidłowe certyfikaty w przypadku żądań HTTPS. Wartość domyślna to true.
followRedirectsBooleanJeśli false, pobieranie nie będzie automatycznie stosować przekierowań HTTP i zwróci pierwotną odpowiedź HTTP. Wartość domyślna to true.
muteHttpExceptionsBooleanJeśli true, pobieranie nie powoduje wyjątku, gdy kod odpowiedzi wskazuje na błąd, a zamiast tego zwraca HTTPResponse. Wartość domyślna to false.
escapingBooleanJeśli w adresie URL nie są ujęte w kodach zmiany znaczenia znaki zarezerwowane false. Wartość domyślna to true.

Powrót

Object – mapowanie nazwy pola na wartość. Mapa zawiera co najmniej te klucze: url, method, contentType, payloadheaders.

Autoryzacja

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

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