Integrácia s Google tabuľkami

Dochádzka GIRITON ponúka pre všetku prácu s dátami aj REST api, ktoré môžu firmy použiť na integráciu GIRITONu do ďalších vnútropodnikových systémov.

Google Tabuľky vedia REST api používať a je tak jednoduché napojiť dáta z GIRITONu do vašej Google Tabuľky. Môžete tak napríklad pri každom otvorení Google Tabuľky načítať z GIRITONu zoznam aktuálne prítomných osôb, vypísať ich do nejakého listu vašej tabuľky a pomocou vlastných excelových vzorčekov s týmito dátami ďalej pracovať.

Sprevádzkovanie integrácie GIRITON RestAPI do Google Tabuľky

Otvorte vašu Google Tabuľku, do ktorej chcete dáta z GIRITONu integrovať. V hornom menu vyberte Nástroje > Editor skriptu. V okne, ktoré vidíte, môžete pomocou Google App Script písať jednoduché funkcie, vytvárať v Google Tabuľke vlastné menu, tlačidlá, reagovať na rôzne udalosti, pracovať s dátami z tabuľky a taktiež sťahovať dáta z REST api iných služieb. Script odtiaľ môžete spúšťať, debugovať, prezerať hodnoty jednotlivých premenných a pod. Prikladáme ukážku kódu, ktorý vykoná stiahnutie aktuálne prítomných osôb a zapíše ich do listu tabuľky.
//funkce onOpen se volá automaticky při každém otevření Google Tabulky
function onOpen() {
	var ui = SpreadsheetApp.getUi();
	ui.createMenu('GIRITON Integrace') //Přidání grafickeho Menu do Google Tabulky
		.addItem('Synchronizovat směny','refreshDataFromGiriton')
		.addToUi();
}

function refreshDataFromGiriton() {
try{
var urlOptions = {
"method" : "GET",
"headers" : {
"giriton-token" : "vasRestApiToken", //REST api token vygenerovaný v aplikaci
"cache-control": "no-cache"
}
};

var urlAddress = "https://rest.giriton.com/system/api/attendance/userActivity";//Adresa REST api
var response = UrlFetchApp.fetch(urlAddress, urlOptions);
var respDataText = response.getContentText();
var respData = JSON.parse(respDataText);

var output = [];

respData.forEach(function(elem,i) {
var inProgressActivity = elem["inProgressActivity"];
var inprogressActivityName = "";
if(inProgressActivity){
inprogressActivityName = inProgressActivity["name"];
}
output.push([elem["person"]["firstName"], elem["person"]["lastName"], inprogressActivityName ]);
});

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data z GIRITON REST api");
sheet.clearContents();
sheet.getRange(1,1,output.length,3).setValues(output);
} catch(error) {
Browser.msgBox(error); //Pokud nastane chyba, zobrazíme ji uživateli
throw error;
}
}
Ukážka kódu pri otvorení Google Tabuľky pridá vlastné menu nazvané "GIRITON Integrácia", do nej vloží pod-menu Synchronizovať dáta.

Keď na toto pod-menu kliknete, zavolá sa funkcia refreshDataFromGiriton(), ktoré vykoná stiahnutie dát z REST api GIRITONu, načítanie týchto dát do poľa output, zmazanie všetkého obsahu z listu s názvom "Dáta z GIRITON REST api" a uložení načítaných dát do tohoto listu vašej Google Tabuľky. V tomto konkrétnom prípade sa volá REST api na stiahnutie aktuálne prítomných osôb.

V hornej časti okna Google Script editoru môžete skript (resp. jeho vybranou metódou) spúšťať, debugovať a krokovať. Pri prvom spustení sa vás Google spýta, či danému skriptu dôverujete a povoľujete mu prístup k vašim Google Dokumentom, prístup povoľte.
POZOR: Pokiaľ pri vykonávaní skriptu dôjde k chybe, vďaka riadku Browser.msgBox(error) sa táto chyba zobrazí v okne so samotnou Google Tabuľlkou (teda iné okno, než v ktorom práve upravujete App Script).

Pokiaľ chybu v okne s tabuľkou neodkliknete, skript stále pobeží a neskončí.

Automatické načítanie dát pri otvorení Google Tabuľky

Pokiaľ nechcete na obnovenie klikať na menu vo vašej Google Tabuľke, ale namiesto toho chcete dáta načítať automaticky pri otvorení Google Tabuľky, kliknete v Google Tabuľke v menu na Nástroje - Editor Skriptu - Upraviť - Spúšťače aktuálneho projektu.

V novom okne kliknite dole na Pridať spúšťač a voľby nastavte takto Vybrať funkciu na spustenie > refreshDataFromGiriton, Vybrať implementáciu na spustenie > Head, Vyberte zdroj udalostí > Z tabuľky, Vyberte typ udalosti > Pri otvorené. Nakoniec kliknite na Uložiť.

Teraz sa pri každom otvorení vašeho dokumentu automaticky vykoná načítanie dát z REST api. Berte prosím na vedomie, že volanie REST api môže trvať niekoľko sekúnd.

Ukážky AppSkriptov pre Google Tabuľky

Zbierku rôznych AppSkriptov pre integráciu s Dochádzkou GIRITON nájdete tu.

Ďalšie ukážky použití Google App Script nájdete napr. tu.