Zewnętrzne narzędzia typu Zapier czy Make.com niesamowicie ułatwiają modelowanie danych – niestety tak długo, aż firma nie przekroczy miesięcznego limitu wywołań (często liczonego np. w paru tysiącach tasków / webhooków). Zablokowani abonamentami rocznymi po 100$ / miesiąc, menedżerowie B2B często szukają "lekkostrawnego" kodu, by zastąpić proste zaciągnięcia CRM wewnątrz zwykłej komórki z własnego darmowego serwera arkusza.
Klasa UrlFetchApp to potężna ukryta broń analityka
GCP (Google Cloud Platform) oferuje darmowy mechanizm "UrlFetchApp" wewnątrz edytora Apps Script każdej zakładki Arkusza Google. Dzięki niej Twój arkusz może zadziałać jak przeglądarka internetowa – połączy się z dowolnym zabezpieczonym systemem CRM lub platformą dostawy przesyłek, pobierze surową tablicę JSON i zaleje nią komórki byś mógł je potem wyrzucić do Looker Studio.
Przykład: Codzienne pobieranie Kursów Walut z NBP (REST API)
W poniższym krótkim kodzie udowadniam, jak zasilić swoje wyceny B2B oficjalnym kursem Euro NPB, wyciągając tablicę kursów pod kluczem `.rates` przy ominięciu płatnych wtyczek:
function pobierzKursNBP() {
const url = "https://api.nbp.pl/api/exchangerates/rates/A/EUR/?format=json";
// Wysyłamy zapytanie GET w ułamku sekundy
const odpowiedz = UrlFetchApp.fetch(url, { "muteHttpExceptions": true });
// Przekuwamy surowy tekst na słownik (Obiekt JSON)
const json = JSON.parse(odpowiedz.getContentText());
// Nawigujemy wewnątrz struktury JSON po Kurs i Date
const aktualnyKurs = json.rates[0].mid;
const dataPublikacji = json.rates[0].effectiveDate;
// Wbijamy informacje na sztywno do komórek
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Pulpit Wycen");
sheet.getRange("A2").setValue(dataPublikacji);
sheet.getRange("B2").setValue(aktualnyKurs);
Logger.log("Pomyślnie odświeżono cennik z dnia: " + dataPublikacji);
}
Zarządzanie uwierzytelnieniem (Headers / Bearer Tokens)
A co jeśli API jest płatne i chronione? Żaden problem. Używając funkcji fetch możesz
przekazać drugi opcjonalny argument zwany options, wewnątrz którego bez trudu
zagnieździsz klucze prywatne Authorization: Bearer
Czytaj: Pobieranie danych z dowolnego API do Arkuszy
Zobacz pokrewny materiał jak za pomocą kodu Apps Script łączyć się z zewnętrznymi API.