Integrácia s Google tabuľkami
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
//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; } }
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.
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.