0% found this document useful (0 votes)
421 views19 pages

Google Apps Script

google apps ambiente sviluppo

Uploaded by

Roberto Zanetto
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
0% found this document useful (0 votes)
421 views19 pages

Google Apps Script

google apps ambiente sviluppo

Uploaded by

Roberto Zanetto
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF or read online on Scribd
You are on page 1/ 19
Una panoramica sul linguaggio chepud cambiare l'approccio @igervizi di Google: daglI'segipt gia pronti alla scoPegta delle Brincipali funzicni, agn solo pePpregrammatori. Le applicazioni di Google non hanno bisogno di presentazioni: dal motore di ricerca a Gmail, da Maps alla suite di produttivita, sono strumenti tra i migliori oggi dispo- nibili online. Ma Cuniverso Google é cosi vasto da includere anche tool che non tutti conoscono. Tra questi rientrano di sicuro le funzioni di scripting: tramite JavaScript si pud infatti far comunicare tra loro le applicazioni, personalizzare ambiente di lavoro delle App di Google o automatizzare alcuni compiti ripetitivi e di controllo. Ma anche chi@ consapevole di queste funzioni spesso se ne tiene alla larga, forse per la poca esperienza con gli ambienti di sviluppo. Se fate parte della schiera degli utenti Google che vorrebbero ma non osano, nelle prossime pagine troverete tutto il necessario per muovere i primi passi: iniziare a usare i Google Apps Script, infattl, & pid semplice di quanto non sembri. € se per diventare esperti ci vuole un po’ di tempo, proseguendo la lettura forniremo le indicazioni per partire con il piede giusto. macs PRES | Googe ons Sore de: programmi, persomalizzandoh Bull web apps and iiwcssmefiessawers automate tasks with mana ewe sete Google Apps Script nta il copione di ghipsopinesmactcneninigtroneit tuna pitceteatale,éauttgliefettiun _Satesyeam tase wr as > programma in miniatura, Disporre di E lun matore di scripting integrato alin temo dun peogeamms od una suite di applicazion significa avere tale mani tun linguaggio dl programmazione in sada interagre con V'applicazione essa e i altivame le funzion, Molte delle casiddette appliaziont di produttvita oftrona funzioni di auto Tharionee personalizzavione,a partite Gal punto dislerimento dele suite per ffi: Microsoft ice integra da mol tianni un vero ambiente i svilppo un linguaggio di programmazione creato ad hoe, Visual Base for Appi cations, La carta vincente di Vba & la Gliserip dele Google Apps sono uno stumento potente erelatvamente sempice da ilzzare Semplicith con eat qualunque utente per far comunicare talon le applicant Google eautomaizare leur compl meccanic Example Srpts Developer Reference Neetarensit sere estn eenteciam renreth itseinenant terete eet tee 3 Tole eee Sn ae eee ety) ee Sgn ck ec ES ae ete ee a tac a . aaj penes)) sega rete ue Holts tale appicaion’ pid potent offronalinguag sriptngavanzat:AutoCed, Pe exempio. propane un eet del complesseUnguagge dl pregrammesione Lip. Dud creare nuvi script ¢ comand at» sistem operaivi possono trarce van Traversollvegistatoredimacro, ancora taggio dasript pit o meno compless ‘gg una delle forme di sutomazione per automatizarealcane fanzioni Gia pil conoseiut intuitive. LibreOfice, | febatch deriva da MsDossono una tuno dei fork di maggior sucesso del _ radimentale forma di scripts anche es progetto OpenOillice, si spinge in un tratia pet lo plu di serie dicomandi di fertosenso ancora pitinis,« permette shell da eseguir in sequenca,alcune Di suoi utenti dls scegliere ta quattro semplic stature di control eles linguaggid scripting (Python, Java,Ja-_cuzione Ii rendono comungue similia woSeripte Basic) uth dispomoialin- microscopic, semplici programms. Le temo del suo ambiente di sviluppo e evoluzioni di questo slatema di auto ‘utomazione. Srumentanaloghi sono mazione, Windoves Scripting Hoste gli ' dlsposizone deg utent di WondPer- script di PowerShell, pexmeltono oggh fest, CorelDrave, AutoCad e di molti__ di realizzaresolzioni ben pi com altrsoftwaredifustinrutte mondo, plesse integrate con tutto le funzioni Estondendo un po'lldiscorso,anchei di Windows; e presto nelYambiente Windows arriverd anche Bash, una delle shel pia potenti e diffuse negli fambienls Unix/ Linus, Da ultino, ma ‘certo non per importanca, uta fam in delle applicazioni Googie offre at Soi molt utenti la possibiliadiceare funcioni personalizzateall interno dei documento piccole applicaion! sand alone, colegare le numerose appli= ‘iziont della plattaforma e far 3 che ‘omunichino tr loro. Questo€ possi= bile grazie a un linguaggio di scripting basato su Javascript e un ambiente di sviluppo integrated certo perfetibile ma semplice da uilzzare, ma soprat- tuto grazie al accesso istantaneo a tutte le fanzioni che siamo abituat ad ulizzore nelle appicazionideleco- sistema Google In questo artcolo cercheremo di mo- strate na pieola parte aici che sh Dp fare, attraverao I funzion| di seip ting delle Google Apps. Otfiremouna rapida ponoramica del lingueggio © dell ambiente di sviluppo,cvispieghe- remo come sfruttare al meglio questa tecnologia, Cercheremo di rivolgerct non soloalprogeamaator git abitual ad altriambienti inguaggi,maanche i somplic utenti delle pplicazioni oogle che desderino seoprie a via pil rapida ~ grazie anche alla grande mote di materiale gi pronto alluso dlsponibile in rte ~ per rendere pi Produttive le applicazion\e | servizi iliceati tut gor LA PIATTAFORMA GOOGLE APPS Detinire Google ~ © meglio, tentare di delimitare con una definizione i ragsio di azione di Google nel Web una vera impresa. Quella di Google una piattaforma vast, forse Ia pi Aampia tra quelle ogg a disposizione ‘degli utent di tutto ll mondo, fats dt pplicazionie servi di cu il motore Al ricerca solo la proverbiale punta dell eherg.Echea vole pus sembrare addirittra un po" confusa, sia per la veloetd con cu il paesaggio cambia, tea novi annine, modifiche © can cellaioni di servizi, sia per termini Simill ullizzai per definive servizi, fentite applicaziont different. Con la definizione Google Apps si indi- ca una serle dl applicazion! gratuite ‘ospitate sui server Google, ¢ sicira> ‘mente glabonnotea ttt letor i PC Praesionale: Gmail, Calendat, Dive, @ COME FARE > Software Google Un unico account. Tutto il mondo Google. Ace con tuo acount Google Laplataforma Web di Google comprend numeros servi tut accessblramite un unico account Non ®nacessai che indrizzo ema ulizzato come account appartengaa Gal, anche se questo rene un po’ pi sempli alee operaion Le appicazion! Googe includono una sutediprogrammi per ufo (Sbets, Docs Forms) la posta elettronca dl Galo storage nel cloud a rive, Mappe one, calendar, Uhangout. I blogging la erezxione di pagine Web tuto utlzzabla vi browser. Google for Work MOngOoRO Per tzalende Google propane un pacchett clamato Google Apps for Work, che offre tra {altro la possiblia geste conLinfrastruttura Gmail anche account posta su doin personal un maggie spazio dl archivanione in Drive e supperto tecnico 24/7. Docs, Sheets ¢ Forms. La plattafoema discripting di Google i pud cllegare fa queste applicazions ea tutti glial servi che fanno eapo allazionda di Mountain View: Contacts, Groups, ‘Maps, Translate, Sites cos via. tute queste applicazioni si pid accesere sMraverso un unico account Google, “reato gratuitamente raggiumgend la ‘ogi up:/couatsgegle am. Aoge account Gmail leave di posta gra tuite con estensione Ogmai.com) viene Google completo, quind non & quasi ai necessaio creare un account spe ‘ico per accedere alle Google App ‘Ma non e Tunien sada nulla vcta infat di ereareun account Google (002 Geral) per aceedeve alle applcaziont della piatiaforma utilizzando come ‘nome account un altro inditiz0 email, ‘el nostro esemplo infe@nomeasienda, can. In questo scenario, ito ier. pub aeceder tutti iservizh Google taniae Gmail ein seguito st decide di assocane all account anche ‘unindirizze Gmail nuove dizeca (per esempio fomomezcienda@gnailcon), ‘questo diventerindirizzo principale dollaccount il vecchio infownemee- lovida.com eimagrs ancora valida ma ‘ark relegato al ruolo di indrizz0 condario, da uiizzare ad esempio pet I recupero della password. Perlando delle Google Apps, spomberiamo su tilcampo da in possibile frainten= iment: con questo teemine parlome, -genericamente delle applicazioni Go- ‘ple eloncate net paragrai precedent Google Appe & purtroppo simile al rome della suite distrumentl a pa- sgamento destinat ai cient busines. Lattusle nome completo di questa su ‘Me Google Apps for Work (un tempo Google Apps for Business).e servizi ageluntivt offer con questa formula includone la possibilita di utiizzare Vinfrastruttura di gestione della posta «fi Gmail con indiriazt email del pro- prio dominio aziendale, un maggione spavio di archiviazione in Drive © un supporto telefonice 24/7. Questa defi- ‘alone non riguanda quindefunaioad di scripting, che sono a completa di= sposizione di tuttglt acount Google, sratullies pagamento, script delle Google Apps possono ‘essere divis in dite grand categorie script stand alone, che possoao eseee ‘seguit in mode autonome, eseriptin- eit all'interna dun documento cke- 10 con un’alta applicazione Google. COME FARE > Software IMPORTARE ED ESEGUIRE UNO SCRIPT GIA PRONTO Google Apps, spud corincare con Uimportare uno srt japronto tra molt) ches travana ingra per laRete, ‘Vista le quantita & materiale repertite anne, per met utentt {unlzra pt comune del Ireuaggle dl senting araproprin quello prendere spunto dat Web, marificande script gl esistentiin base alle propre esigenze, meno inelmente Scoprerna qui [asso per paseo, comeimportare una script terse part, ltpeme passe # rover una ovis cl sperimentare. Per questo ‘esempoutlizzerems primo del script prapostda Gacgle rel suoltutorbl. Lino & tps developers googlecorn/ cpps-srptfovervew#set_/_up Selanonsiro @copiama rel ‘appuntt testo dello script. per eserpio con la scorctoa da ‘tir Ciro (Figure A). Sl trata dune erpt star alone, guna {ambit dl srluppo non deve essere richlamatoatraverso luna eaconds applicpone:isagna ivece aprre rettamente P er complee prim pass contarblente degli script delle Progta senza ttle eta an Yah Sete Rone Cate BH 00 + mm : oO GB Wp st. goge com acon) NCA eB IS ] Prova.l mponazone sont Pm dies tem faaps Pabicn Rose Gus aay on eoneseeore eo oe Unterfacca dt svlunpo,raggungenda indies hips script. ‘google.com, Se 8s prima volts che stllzzano gl serpt dt ‘Google t!brawser apr una paga ci benvenuto (Figura B) nc ‘saranecessario fare cl sul pusente Start Scripting. Altrienent ‘Joprir drettarmente la paghs principale deltombiente dl ‘supp (Figura). Nel fle che siapreautemascamense, Coca ‘9, bisogns ebrinae il testo presente e sosttuirlo con codice copiato dalla pagna dl pareraa (Figura). A questa punta dopo) \Lsolvategal (figura). nome della furzione presente nea barr degli srumanti cambiar, rpartende Krome cella Furie sppenaincellaa (figura F)..codce pronto ad essere exegit, ‘traversal comand CreoteAndSendOacument ne men ESegu! {rgurac).Essendola prima esecuzione deli serpt.bsogna rie le autarzzatesnecessare (figura W). mn questo casa lo ‘scrpt era un documento a testo chiamato Hello Wort serive ne fraceal sue tama vis via mal un nk al documenta. Gocale Apps Serit Build web apps and automate tasks with Google Apps Script = Uaizsa Esegu runeica ose Gude QO) & | cevemenmnaecinent- | G Covtice gs funetion @ COME FARE > Software Progetto senza titolo Fle Medien Viauaizzs Esegul Pubbica Risoce BD > R ropmcten —aaaea oecuSTRUMENTI = Tralvarstrament dimen tober tiexonarue | 8 OROe _~ oa pasate per esecizone del pogramms Inquact ro trova . quello perl debug occpano un posto elenco da Fche 2 {iprimara nportar, acon cles ngonokprogeta ay Ura quest ue psa viene ava “fittest un le ‘ Unfunson etal menu a dacesa function ayFunctien() £ una (che par defaut st site a deste ‘hhama Codcegs:nel. caso fd scp che mplementano corron vet cone ‘uvapplicanione Web, In poche paral: qu i serivelo erg. In questo eenco | nguagale ct programmazione € comparranne anche fe ondamentalmanteJovaript cust tal ean eu compare aggungono le chamate neessare per Tonerfacci utente, colleges ci servi Googe Inguepeuosipuacacpteanae- servo ce gla inbeckground nal dla pt scart dete oa ‘Sun pcb tologa limi im sprtve: Utero pes: ol Senco ee Savaileesatinenedtanpress ska peg scp edpenceas® trace pre deen doumer Seite Clsaytamtanetound Fescitane sine pplaeane We ico erp dr unmet idee teppectan fore Fappeca pit ronaundln cksnd, mene Speers dann fm Immedan st mondo dlls, moat animes fos merrell isos eet Keshia Macca ‘Tmoapecite dentro I Goo-_tenruns getline dni Unt ope fe per aging feDocrshecsTormial yon tptedi Game Aparna eineree hens ee Se nam nplonenan ores Sus conde td dep el egies 4% sieiaStirempaceiean Uniggdcakeetaiurenmew CINTERFACCIA tune quince cle micinic prcecinees eta Retinal roment duanre ‘un documento, calcolare distanze tra DI SVILUPPO della funzione di esempio myFunction(). atu contcactge:, ramaaiareaege pecans langues mactaioes na (Satarincticamehoprateee Appestatertencanapeiee pieticepe pprnron au iae ‘ntamasn!seuriivociavera ste Cl che sie cme tte Sy a ns tn lene TiineleapidiGrelenkecconlteappeason Cog Sectonente See che compen prog d ICH inal lise ninade® nbotmrenivanulanieelGoed sipingoen na detest IMepucdlucmtemcedee,* GlGaoye Dive iapendontonete ean ne uae Aiteredcglonpicnuinbound lapeiscipsuctalsuievrare cern sgt een ee opie tine inte iopeabil pital deCoetnae pp dla mali Se Nepereenp ard fake Siete Miamage. putslrosdiae eremctelap: pega diera ee uct gate Reet oer ate Pncmencieenrsatcrctets PRE tate wcannes wuss Teal laneenrment aggre fans foe Ferree uno Enero de mostra tems tne can let a delgeom eipleogatsurdoumrtsbae. liners bwm dg rune cahicieealuenetimerscie gupertieklname ldremeno _speeretel mens eerie ea Gidnrnenpauesneuceele Sotossccetpo deus ogiod foaled avn e Meson inomaritcotceeiment esi incvi ee feroprende: Fil selon, ta Tmipianuccciee, Satcammenicea Set lpuncertmar ae tanner ode penne dg spt Grog fepheslo realised ql fe Stmlpedtcsdcumenbreene Copibeasbenitteapitces. tamer linisncene snot a ftps uncut manssbnate stimu fewit sues mane daggeds Sinmedotonatee steve sme GGongleshcs ipo pur encour me Sider selena om sowsche pete ogi uae dtp va {ri osvbmtsaeqpearinche ler pede dimaificn,e eel senator dappeacone Wee Sonasaans diene jar el ooge Dive Digan Fimponasen datggev ores ee tedaftome inmodosngo tin someones tompmstaiene cnet events chcrsae COME FARE > Software Vesecurtone della script Suquestultino della nesta vengono visuaizzate w- LE BASIL argomentotoreremo pi. avantiDopo tele variabli del programma, le loro DEL LINGUAGGIO. Guest duc plu torane deco. desnizont ead ce contegsno-Chs DFE CRIBTING ‘andi principale avi delesecuzione ha gi dimestichezza con alt ambient ispettivamente in madalita ci debug cl sviluppo, anche soo il sempice Vir fin modalita normale, seguiti da un sual Basic for Applications di Microsoft Come abbiamo detto, i Google Apps ‘menusateninacontenenteelencodelle Office noteracomelefunvieni debug Scripts servi javaSerpt Ala sh funalon! insert nell sexpt clsponibil slanoabbastinzasemplice: teste al cost tip di questo Ings, La iferenza tale cte moda non sip per esempio madifi- gio vanno perb aggiant git trumenti |i di esecuzione (normale ‘aveilvalorediunavariabile del Google Web Toolkit, per realizare debug) & crucial: in mo mentreVesecuzione®inter~ _glilementdelnterfcca utente una Galita debug, fondamen. Tolla,eneppureimpostre corposnsetiec unsion di liberia ness tale in sede di sviluppo, ambiente perchéentt in sare per“pakae” con glistument ele quando Yesecurione Gel modalta debug al veri applicazioni di Gongle. In questa sete programma sinterompe ‘arsidiuna precisa condi-noncilladiamo di pote esaurne argo (aaecempio per un eroce) Zino ad esempio“blocca mento dello scrip delle Google Apps, Vamnblented svuppononst esecuzione quando ls cella mavogliamoofiie una panorama sug limita a segnatare i problems, Acontieneivalore I"). aspet principal de! linguaggio eslle ‘ma permette al progeammatore dl Quandos/lavorsin modal stand — diferenrefoodamental neiosvluppodi vetfcarelostatodel sistema e,auspica- alone, fambiente di sviluppo si pre- routine chedebbane grare in autonomia, bilmente,disspirequalesinitproblema Sentai moco identiso ma deveessere —aintemodi documento sot forms ‘ccorso Si possone impostarepunti di lancato direttamente dallnterfaceiadlapplicizione Web. ierruzione, coe righe su eu Tesecur iGoogle Scripts (itips/scripisgogte. JavaScript éun linguaggto orienta gh ione del programma (e in modaliti com) oda Google Dive. In particolare, oggetti con una sintasirelativamente Gebug), doveafermars forzatamente: dalla pagina hipsi/drive google.com) semplice, drivata in parte da Java e hasta ave cliccon mouse sul numer dezwny dre, facendo chesulpulsanteC. I codice Gas (Google Apps Script) elaine corrspondentepercreameo Nuovo inalto.asinistra e aprendo poi contenutoallinterno di funzion, che fliminarne uno. Quando programma i menu Alto, dovrebbe essere dispo-_vengono dichiarate con Ia sintass, tin powse s pubriprendersexecuzio- — nibilela voceGoogle Apps Script che he, nteromperi in mode defines 0 richiamaistantaneamente ambiente function roneFunsione fetuaredcsiddettodebugpasso per di suiluppo. Se la voce non compare (anganants sella funztone) { pesso,eseguendolesuccessivevghedi — bisogna fare cle sul pulsante Calega a tdiceunaala volta per verfareil us elreayplicasiom, cercare Google Apps 17 ssteaion. Ssodicontoll. Quando esecuzine in Script nella finestea che si apr e fare u pst nel riquadet dela zona inferiore lic College, ‘CONTROLLARE L'ESECUZIONE ‘Quando csi trova nada debug. el programma {in pasa (pun errre o per aver raggunto un unto ointeruzione)Cambiente dlp presenta ‘lun pulsotin pl, che permettono dl sprenderee Intercompere la fraione corente, od continuorne esecuone una riga alla vata, ILCONTENUTO DELLA MEMORIA Ir modalta debug ia part Inferior dla fnetra viene occupata dlllanco dll varsblullzate rela fusione. Per og variable @ vibe nome tip (che vee stabilite a runtime dlintrprete) el contenute attuale (@ COME FARE > Software Log (e616 1526 sais Ces Fog al avore senza name [6-616 1836 sas GEST Fog lavreaenen nama, 1n6-6-16 1536 sean GEST] Poets SorzaconinPele_11u91020%4 Vileane ‘alk. Mena oh Samertha Ken Sioa [noce-16 1526 52820 oer] Featyvak SoraacowinDDPele_11uglc2014. lean fata Maina pn Samarina Kan Bipg Ineae-te 152652831 G=sT|Peakywal SoraaGoniniDPele.11ugle20%4 Vilage ‘ensta Meina ph Sanarina Kish Spo Ine ig ans eT] Peasy SarencaninoPem_1gt20"4 ape lira pn Samaria Ken_Pib3. ‘Sante, Mota pm Ise 1850520006 Posy Serencantbree_tb20'4 anc free ie tes anas Gost] Poca SeraaConinDPete 2014 agp ‘ensia Moira pr Sanerina Kian Spo In626-16 152652000 Get] Peetyra« SoreaconniDPele_11u9I02014 vileane ‘ast Meina oh Samariha Kein 2iog [nege-16 152682830 c=sT]Fearyrak Sor2acowiniPeto_11ugI020%4. lean [LLogger permette tracciere in modo slendoso acne infrmazioni relative alkesecuzione del script Se necessero un log pi essere vsulizat dll nterne deltabente svtuppe (come in figura). viato viemalo srt inn ocument slvato nell storage d Drive aftura memeri | trigger permetton dl schedule esacisione dele fnsion. cat drip stand alone (cioe non tegat aun document o aun foto cao) un trigger permet fal aren background, come in plecolo svat Web oxptato sul server d Google Come in mol alte lnguaga,Vesceu ‘one di une funzione pu (ma nen & ‘bbligatorio)resttuire come risultato tun valoe atravers il comand retin, tenon &neceserio specifiare lipo di questo valve. Anz piv in gonerte non 3 imal necessaro specifica neppure tipi delle variably che van soltanto ichinate:e po imterprete a stabilize ‘durante eseeuzione i tipo di cascuna variable, in base a sao utiliza, Per fare un esempio semplicissimo, una funaione che elftti ls sommna di due ‘uimert spud servers cos AC een (BL vee=atbs } Per contollae Yesecuatone del cod ce si postona usare tutte le principal Slrutture previsteda JavaScript, sia per esecuzione condizionat ee sia per ‘Vierazione (ce fore wile. Inoltze si possono utilizar le istra- lool try catch per gestire gl erto- 1, prospettiva che con gl script di Google assume conaotati ben pil {interessant che in altri ambient di sviluppor nan bisogna dimentcare che ‘questo linguaggio ha a disposizione Ik immense rsorse della piataforms Google, con pochissime'righe dco slice si pub inviare una email per se ‘alae unvanomalia oseivere tulte le Informazioni relative allerrore in wn ocumentosalvate nel lous ai Deve La snippet seguente 8 un esempio di tuna gestione deg ertori chest avvale del supporto di Gmail servesoltanto tana riga di codice Instron wut Uaetrustont 8) 2 eaterced ¢ eitepe. sencinat nioindirizzeservers ¥ Soe ee [nstrustont Lateral questo pozzo dicodic, per chinanconoscegialestratture tye 2 questa: lo sriptesegue le Istruzioni del blocco A, Poi tenta di esegire Te istuzion'delibincca & Setuttow bene Al termine del blocco B continua con i bocca C. se invece nel blocco B viene riscontrata una qualunque anomalia esecuzione delblocco Us intertompe vengono eseguite le righe speciiste Aopa Fistrurione catch. In quest.a30, nel Bloceo catch c' solo Pistruzione Mail penal che permette i in viareun meseaggio di posta altraverso Gmail Questa funzione richiede te pparamett:Vindirizo a cui lnviace i mmessaggio,l oggettodella mail eil suo content In questo casoilcontenuto® Fatteibuto mesage dell evento e, ovve ro In deserizione dell'evento errre, tun campo di informazione compilato diretamente dal istruzione calc. Pr acquisine una buona padionanes Ai Google Appe Script e quindi neces sarlo mparare a conoscere le tutture che permettono di interagine con Te applicazioni Google. Alcune di queste hanno senso solo allinterno di script Container Bund, come le Farzins che permetiono di leggereeseivere i dati in undocomento. Gh sript egatia og Alealelo, peresempo, inialano speso on istazioni simi a quest var msheet = Spreadsheet. ¥ getictivesheet fetta menaall » getoatcrange().getvaluesO$ La prim crea una variabile chiama- ta mysito le astegna come valore i foglo di caleoto corrente (o meglio ‘quello da cu To sept viene exegult), {Es second crea una nuova variable, chiamata myDat, cle assogna inter ‘allo di valor delle calle attualmente COME FARE > Software east E18) ts GLI SCRIPT COME Se ae aridispariCio di esempio alcune delle potenzialita: m ae pee ane oe we Come abblamo gih accennat,glistipt dispari aeons peso aggungere nove vedi: pari re ie ‘mo, rimangono visibili ta i menu di dispari eae a del documento a cul é legato lo script. ps Tanclae alcual semplict comand dispart dispari pari dispari eee, (atc Peer ’ ae pee 1 dispat jahosalanngent Alcune brevi note su questo fram- Cereal meg ‘si collega all'interfaccia del documento se il ene E eee faretion erdgen() ( peer et vor ut = Document. 7 ne rt gtr Peetrtottrs ucreatananuC ta 7 es : Personatizzato") adsTten Pri REOOLSRAARYENN reeset ieetcn ees Trigger del progetto corrente Esegui Eventi (_checkDuplicates +) (Da fosiio di lavoro (Alfapertura 3 Le fui degl script contaler bound (avver legat aun documenta oa un fois cao) possono essere exegute anche al verfiarse determinate cordon: per eserplolamedia del le cu fn rferimento ola sue semplie epertre. @ COME FARE > Software Legger slog ntga st 16994 Per vedere il log dello script covtente spud lchiamare la voce di men Log rel ments Visilizen in alternative i so contenuto pud essere lett da co dice com la funzione LoggersetLost-e pot wtlzzato in qualunque modo (per tesempio srito nel corpo dina emai {a inviare all arene), Spendiame infine qualche parola sul iodo in cui le fnzioni eli seiptven- gona attivati nelle varie modalita di Svilippo, Le fnzionicrente posson0 innanzitutto eseguie nll ambiente di silippo: basa aprielo script, seleni- nate it funaione asl ment a tendina ella barra degli stramentie premere 4 pulsante di avvi. Esstono natural mente modi pit pratic: per esempio ‘giungore una voce di menua un do- ‘mento aun appleazione (come ab. biamo gis visto} oppure automatizzare iT lancio di una fnione tramite un teiger(parolainglese che signa gi eto). Usiazare un tiger significa sta bilire una condizione che facia satare Vesecuztone dela funzione desideraa Gli script possono per esempio esse ze eseguith a intervalli regolar: per crear un trigger di questo ipo basta selezionare la voce Trigger del progetto ‘ortene nel mens Rsorse dell ambiente dlisviluppo, poi aggiungere una voce SlFetonco ~ ineialmente vuoto — ¢ impostare correttamente ‘Jetlapplicazione, inserendo in una Cella la formula = NOMEFUNZIONEO. Una particolare modalita di utiizzo degli script 8 infine la distibuzione sotto forma di componente agginnti- vo per Google Sheets, Does © Forms. Uncomponente aggiuntive pub avere funaion! simill« quelle di uno sript ‘inserito nan docimento © pen- plate” AGRE oo siomatieroccoavis) © EQUNBOINETEE) bens! instalato aiateno intervall di tempo tea tunesecuzione eat, Pergliscriptlegatiaun sfocumento, la miedesi- ima finest offre un’ ternativa ai trigger basati sul tempo: | rigger legatl agli {event del documento, Si pud qui ali eseguire una funzione all apertura elle, o nel momento in cult doce ‘mento viene modifieato, Non biog dlimenticae,infne, che le Funzion’ de fl script incerteallimterno dei fog {i caleolo possono essere richlamate fesatfamente come le normal fnzioni Package Control dalVapplicazione e dspo- ribile in qualsiasi docu ‘mento, $i tata quindi di script na in modal stand alone e distebuit utilzzan do il comando Distribuis! come camponenteaggiuntice dal menu Pub ies deltambiente di sviluppe. Per realizzare questo tipo di serps doe ‘vero solo qualche plecla acortez23 Per esempioricondae che nei sript fealizzati come add-on non esiste Io Possibilita di agatungereinteri mens, personalizzati, na solo nuove voc al ‘menu Component agent. AMBIENTI DI SVILUPPO ALTERNATIVI come cba vit, lameinte sve per gb crip za eretorerte a browser, come tel oreater Google Pe vere rcontra a prograraterte ale ro bitin esto prdscun plugin chepermettane integra le furzion i sviupo mecun deg arbient pu note aus Ipc die Eclpse ide rutataferma emu Unguoge, per cu Googie stessahs svuppatun plug dt Interac con oogle As Ser (igre A). a det che Uinegracane sotento parte: Elise pub essere voto come semplke eto dcodeeper madfcore~me noncreareda zo ‘crpt standalone, oppure come ambiente dl suluppo e debug par _applczion Web basats su Gas. La homepage del pluginsitro1a ‘lfetz hpe/developersgeoge com/ecipae contene tutte le istion necessane per nstallare L componente Google. Solo levemente pts complesso ek procedimento per installare ilplug-in che consente alleitar di testo Sublime Text 2d collegarsi a Orie eLavorare con gl script: aggunta cl questo ‘componente passa attraversa ll sstema i nstallzione Package Control reperbeallindirzz0https//eackagecontro.o (figura ESEMPI PRATICI Dopo aver raccontato cosa si pu fate con gliscript del Gogle Apps. ¢ oa ‘etter finalmente mano alla tastier, Vi proponiamo qualche exempio pr fon cul srt i sicuro pid semplie ea pire quali sinoa flsatia di finziona ent deglsriptele real potencialih fella tecnologia. Buon civertimenta! 1, FUNZIONIDI UTILTA, IN GOOGLE SHEETS [Uno dopi tli pit comunideplisript delle Google Apps &ereae nuove fu ‘ian per un ogo cacola, Partie on un esempio semplie per splegarela ‘inamica di questo tipo di scrpt india i mo Inserenda questo codice come sept dit un foghio di calcolo, nelle celle Gil fogio si pud subito utilizzare la funaione Pay Dispal) Bis cffettuare il slvataggio dello script che adilferenza dei document non & 0, aulomatco. Lutilizea & identico alle ‘ormall formule det fogh sinserisce in una cella espressione eriDisparitc istanteal poste della forma apparira Ieisultato della funzione Pr esempio H(A) eestituirs A valde par se nella ella A1 ce il numero 4, see numero 15, operatore 2 ulizzato nella riga di contolo, slvisone tea miu 2. ARCHIVIARE LE VECCHIE COME FARE > Software {AL introdurteateun concet importa i. Si tratta di una script stand alone uind non logato aun documento 02 Un contonitore specific, «3 compone Ai due furzionisArchivioE mel © ‘mevulEsecusine) Iniziamo notanda la stile distinzione trai nomi delle due funatonsi ating bassa (under score) lla ine det nome della second la identifica come fusion di supports a a}, « dopo qualche tana fanzine principal (nel nostro caso {ucla che archiva leemal)Lefunzioni A supporto hanno Ia earateristic di nom poter essere eseguite dretamente ma sltanto chiamate dal interno di tualtrafanzione ve a far sche la prima funzione non super templ dl esecuzione massiat previstida Google. Visto che gli script racitnumera [EMAIL AUTOMATICAMENTE Birano di fatto sui server Google, ® function PorsDizpart (nichumars) ( Fiat stabito un etto massima dl paca 17 (wiohimero #2== 8) Questo script serve a spostare nella pith di cingue minut di esecuztone return ‘paris chivio di Gmail tute Ie conversion 13 giunto quest limit, lo script viene ‘ales checontongonosole messaggi pil'vec- interrolto con un erzore di imeot atin “aiepari?] chi di una setimana. Buna funzione Visto che lo seript di archiviazione , pluttosto banal, che ci permetteperd_ delle email effettua una scansione di console dl programma (“ichiamata con la vace Shaw Cancale nol menu View) lo script che si tova alla pagina https:// pockagecontroionstellaton, Nella palate del program Flehiamabil con la comtinsslone a tastCrt+Mowee trove |Leomanco per egaiungere il plug-in. € Package Control: Instat. Package (Figura), acu eve seguie [a seleione del nome. del paechetto Gooate Apps Script (Figura). Unstallzione parte Immediatamentee, una volta completata allfnterna della console saranno present due nuov comendl Google ‘ops Script Authenticate e Google Apps Script Browse Projects © [a hs: Google Go. (figura). processo a autenticsaione, da lancare alo al primo utilzz del plug-in, serve afornre a Sublime Text le eredenzol i accesso al file del'utente au Google Drive. ‘Sublime Text copla neg appunti un indizzo Uri che, una volta ‘2perto ne browser, porta a una pagina di auterticazione di Google. Dopo aver forrita Wl consenso al collegamento, Google restitlsce alutente un codice (Figura ) da incollare nella console dl Sublime Text. Terminata questa procedura sl potra finalmenteutlizare ilcomando Google Apps: Browse Projects per lavorare sul propr script @ COME FARE > Software Function Archiviaénail() { var unasettimana = 7 * 24 * 68 * 68 * 1609; var threads = cnallApp.getinboxthreads() var now = new Date); for (var J = 0; 4 « threads. length; $++) { AF (timeout secuzione_(now)) ( Logger log("Esecuione intersatts per tiveout”)s breaks $ Af (now - thneeds(4).getLasthesrageDate() > unaSetténana) | ‘threads|s].noveToArchive(); ? ? Function timeoutEsecuzione_(iniziotsecuzione) { var cinguekinuti = 5 * 60 = 1000; var now = new Bate(); return now.getTine() - intzio€secuztone.getTine() > cinquetiinuts; ? [stato sponte anche altirrizzo htp//postebin cam/ENDTBBIEe sul Dvd vitae Gmail - Archivia€mail Fle Modiica Visualizea Esegui Pubbiea Rise Guia <> BAO & & | pevemi 0 fw Colcoge Cade gs ‘acnuacrat 2 function srehiviaerallO { 4/7 Esecaxione autonatica una volta al forme 7 var threads ‘rai lApp grt TnboxThreads(); Svar aw = now bate 3) for (var = @5 § € thrends.lomaths $449 ¢ 124 Crimauresseuione (rend) £ 2 Erecuzione intarrotta par tinend ae Sel nome dela funtion termine con un trattno basso (underscore). emblente la Mees come un comand dl support. che non sirarichamato drettamente dltente ma solo altintero alr frzion. suo nome non compare, fate menu delle fureon tuuta Ta casella della posta, abbiamo aggiunto una routine di controll che Interrompe Vesecuzione spontanes mente quando s raggiungono cingue sini, senza provosore error Vediamo in dettaglio come sicomporta ANeodice dela funalone ArchioiaE mall. Innanritatto i dichiorano tre varibil sou, unaSetimaa e threats. Alla prima viene assegnato il yalore attuale di data ora, alla seconda il ‘numero di millisecond (unit mi surausata da Google Apps Scrip per i caleoli tra date) che compongono luna eetimana in ends infine viene memorizzatoVelenco delle conversa Zioni presenti nella inbox a Gmail Loseript avis quind! bisogno delfau- torizzarione ad accedere, in lettura series, alls easel Gril eli tent. Il successivo cielo for fa sl che ‘venganoesaminate, ana peruina, tutte Te conversazioni nell inbox, facendo lun cantronte tra il somento dele ‘euzione dello serpt (la variable now) In data dell ultimo messaggio del tread. Se la differenza (espeessa in rillisecondi) supera il yalore della variable wneSetinna, Vintero theead ‘viene spostato nell achivio di Gmnall Dopo Ta funzione GmailApp gettn- boxThreads(), wtiizzata in. proce sdenza per oltenere un elenco delle fomversazioni nella inbox, faeciamo qquindi conoscenza con due altre funzlont collegate al mondo Gmail: setlestMessageDuted)che estitisce la fata di ultimo dun netome ci mee age. © moveToArchive(), che archivia tno pit: messaggi ‘A ben vedere, anche la funzione di supporto tincoutEsecuzione()s basa suruncanronta tradate: quella atte {la variabile now, definita allo stesso modo dela variable no dela prima funaione)e il parametr itioEcHsio- ine, checontiene stants cui stata Tancata la funzione principale. Anche inguesto caso il valorede! timeout (I variable cinguedinut) & expresso in millisecond 3, SCARICARE FILE INGOOGLE DRIVE Presentiamo.ora un pezzetto di codce chedev'essererchiamato da un’altra funzione:downloadFle()faesattamen te cio che si pua intuize, osiarecupe- rare un file dal Web. Non lo seatica Loseript salva fle altinterno duns ‘artelladiOrve,che deve essere ‘dentfesta dun code unvocn, eos s pub itrovarein mod serplicepuntando browser ala ‘carteladesiderata ecopiando Rt codice ala bora degli, pero su Ps locale, madiretamentenel ‘oud storage di Google Drive. La fan one orenleedile. viene richiamata fom due parametr:Vindirizo Url del file da searicate © 11d della cartlla «41 Drive in cul scaricarlo. ld dt una cottella pug essere ricavato tramite codice, oppure direttamente dan terlaccia Web di Drive: basta apie la Cartels copie parte finale ln Sleizzo (che si presenta nella forma Intpstrie googie com /frivefolders! xmurmnetzrmy), coe quella presente dopo Flim sash (). [La prima aperazione compiuts, Ur FetchApp fetch), & gia il download SE) COME FARE > Software © dive Vette 9 Seied > Mace ane > @ ==“ roel =a 1 TB Comanicaziene to vero e proprio. Se lo scaricamento va a buon fine (ovwero se la risposta nel protocollo Hup& Ia clasica 200 OK), Acontensto dl file viene salvato nella variabile fleBob, e poi scrtto nella cartel identifiata dal parameteo fl. erg atteaversala funcione Drie. setFoierByfa ‘Altermine del procedimento viene cal: cola la dimensione del file, ese tutto ‘va abuon fine viene nvinta una mail function downloadFile_(fileunt, folderté) ( var nomerile = *"5 var dinensioniFile = 05 4 conferma allindirizzo del utente, Lindirizzo-email viene reeuperato in modo atomalico, atiraversolafunzlo re Sesh getActiveser setE mal, € itmessaggio viene inviataattraverso la funsione, git vista in precedenza, Mailapp. send mai ‘Questa furzione i presta bene ad aleu ne pccole modifiche, Per esempiolo si pub ingerie in uno seript legato aun Alocumenta 0-9 un fogii di calolo,¢ var response = UclFetchapp.fetch(FiLeURL, (muteetpexceptions: true)); var rc = response.getResponsecode(); AF (re =» 200) ( var #ileblob - response. get@lod( vvar folder = orivespp.getFoldertyZa(foldertd) ; Sf (Folder != mull) ( var file ~ folder.creaters1e(F4ieBlob)) oneFile = file. getNane(); AimenstonSFile - File.getsize(); var enailaddress « session. getActivelser() .get™mail(); var subject = "Download conpletato” var message = “File” + nonerile + ~ sucesso)”; NotlAop.sendémail(enailéddress, subject, message); (© + dimenstonirsie + * bytes) searicato con |Lstatoe sponte ance altirriazo tp://pstebin com /vmgt TaN sul Dvd virtuale dl PC Professional (@ COME FARE > Software farein modo che Fapplicazione ced iotente a igtare Ue det fite in tuna finesta di dialogo, anziché at- tenderlo come parameteo di partenza Per implementare questa variante basta modifieae le prime righe della funzlone introducendo aleune novith nella funcione downloade: funetion dounload ste (Yolderrs) { var ui = Spreadshes thon. ¥ ets var risposta = 7 \ispronotC File da scaricore ‘Val Buttonget of. CAEEL ecteaButton(: ‘etResponseTextOs Wf Goutton = ui.Butten. ¥ wf ggiuntivi Guida Google Maps | SA. B- rc rrteionse gto 206 Indicazioni stradali In questo caso il download parte solo seTtente prem i pulsante OK nella finestea di dalogo. Inoltelo script di partenza invia una temail solamente in ca50.% download terminato eon suscesso, $i potrebbe ‘agglungere qualche condizione alter- nativa, per esempio trasformando il codice in questo modo: 1 Gre == an al a1 (ox 4 t= math) { eet van su} Dountoad eampletate"s ‘var message ¥ = File" noneFiles CY 1} dinenaioniFila + * bytes) ¥ Seorieato con successo) i asleep. ¥ dina} enaithderess, subject, sse0g8) 7 else ( // cortetia non trovata haitéep. ¥ ‘gendEnat lanai iAcsressy 7 ‘Dountead nan comstetatory inasistente") ) ) les { // arora HITE etieop. ¥ sendemat(enatiAccressy ¥ *Dountoad ren conpletato, ¥ *attenzione! File non trovate")} ) Cosi utente potrebbe ricevere em diverse ne tre cas previ: ee down: load &completato con success, se lo scaricamento non € stato compictato [perché non & stato trovato lle ose {file non & stato salvato poche In ‘artella di destinazione nom esiste. 4, INDICAZIONI STRADALI IN GOOGLE SHEETS Questo seript, pensato per esone nse Fito in wn fogli di caleolo, legge due Indieizi (comtenutt nelle celle At e BI del foglio corrente)e serive in un nuovo fogio le indicazioni ai gids prese da Maps, complete di distance fepresse in metrl. Una versione pl raffinata di questo script, utilizabile in modo pi leesibilee con una serie «4 controll sulla valiita det dati, © ‘disponibile tra gi script di esempio Fornitida Google sul suo sito dedicato agli sviluppaton:. {le funzioni incluse in questo script sono tre, ma nessuna di queste deve ‘essere rlchiamatadiretamente dall tente. Della prima, onOpen,abbiamo 8 pala in precedenea’ viene ici mata automaticamente all apertura ‘del folio di calcolo, ha lo scope di inserite un nuovo menu all interno del spplicazione:il ment Google Maps ‘con il camando Indictsion! Strada, collegato als furione Seriitndion lowi-(). Questa funzione laizia con la lettara delle celle A1-B1 del foglio Ls fundone onopen( viene laneitaautometicamente ‘Aopertura del document Tutte fe modifiche sono state si Al suointerna si efetuano qu tutte le operanon che serveno fal) crireeemretentinne Lavoro, partie dalla erezione (eventual vol mena perconatzzate COME FARE > Software covrent, neu cerca dus indice che Uae ‘engono copit ll'inteno dele va Pabilorgine dinaone Quand s rouanaorntit Tavora com fot dl calcolo, la letra del contenato nao pi celle passa perlefonzion gotRange), che Went fica un gruppo di una o pit celle, € _gerValuest), che legge il valore conte var spreadsheet = Sprendseetagp.gettct ive var mentee = ((name: ‘Enficsesont stradsi", funetdontoe ersvsdieaziens"}]; sprensshet. aarana( ‘GoogLe Wags", menuTben) ata athe ee vara , fcontengono | dati necessat, lo seript fanction serivitudicariont_() richiama la seconda funzione, cuore Var spreadsheet » Spreadsheetapp.getéctive); ello script stesso: ehenuticacion! 0, the sieolega a Google Maps restita sce come output un vettoe contenente leindicazionistradali detaglite, che comprendono la lstanza ia una tap var mysheet = spreadsheet. getactivesteet(); var row = aysheetgctRangat3181"); ar rowaluse = roa, getvnues(); var origine = rowalues(2();, pa eTaltrae tail punto di orgine « var destinine = rowalves(@][3]; {quello i destinarione, 46 (onigne || saestinantone) ( Srowserasgox|‘Eevore", “Inar422i ren trovti’, deauser- buttons. 08) Comes pus notareilcollegamentoa aie Google Maps ¢ mit semplice nella prati eeichtede non pla di quattro Fighe di codices crea un oggett di tipo DirecionFinder (a cui viene indi cate di utdizzare Is lingua italiana per , Be ond eed eee enero ep ea seer eee ae nonefoglio = ‘Todicaniont ot gulds's var foglloadleaziont = spreadsheet. tnsertshet(oneFogllo, spreadsheet Te ndicazionstadall, si impostano gethursnets();, i puntidi partenzae activo e infine si var titolofoglio = uetnittes forwatsteirg(‘Ineieazions of gua da 26 2 x8 Impartisce il comando get Directions. oritine, destinartone): Sari Maps stesso a occupars di tutto ‘Tlavoro distro le quite (individuate Te locale) sulla carina, selezionaze i var headers ~ ({titotoFoghio, "], (Tappa, "oSstanza'}}5 percorso miglloree cost via) per pol var nuovegne = (15 Festituireirsultti cercat. for (var i = 8; 4 ¢ indicazindsroutes(@) lgs{@].stepsolenath; is») { {Una volta etenuto elenco delle ind var passo = indlcaciont.rovtes(@} 2ees(€]-stesi ts fazioni stradai st itorna al punto in cul si eta Iascats Ia prima fenzione fon resta che aggiungere un nuova foglio di caleoloe srivere al suo in temo iga dopo iga, il cantenuto del var istration. = passo.ntnl sstructions.repace(/ Software function ealva6nrsl() | var etichetta = Gnatlépp.getuser for (van A= 9) 4.6 threads. tength) £08) ( var messaggd ~ threads(1).get¥essoges(); var messagzio = nessagai (0 var subject = messageio.getsubject( for(var § = 4 5 < messagai-tength; 3-)( body += nessagei[j]-eetBody()5 var messaggtontal = Detveagp.creatersia(subjact + "ne var htalid = messaggtotitel gettd() var messagetordf ~ nessaggtoktml.gette(‘spplication/pat”)s Drvenpp.createFie(maseagaiord) Drives. eetFitesyi6{ntalId) .setTrashed( true cctichetta.renoveFronthread(threads(1), ‘stata dante anche stindrzzo pastebin com/PAMRuHBey (21 Ovd vale PC Professional. [meer Ton WMtoneinearaneggnaraar none Cems saree can nea Lo seriptLavora su tut messogq dalla Inbox Gall con una specifica etichtta, Por aggungere ur eticheta al messaggi in arrive spud aire marualmente oppure ' possono usre fr, access dalle impostanon del serv, ‘init Io funzione allaegs Ja prima coloana, che contiene i testo dell in dicszioni,eblocca le prime duerighe, in cui poi serve le intestazioni util per In leuura des dat 5, SALVARE LE EMAIL ‘SU GOOGLE DRIVE COME POF Sitratta duno sevipe stand alone che ‘segue easenzialmente tre operazion ffettua ana scansione della posta in Srrivodi Gmailals ricerca di messaga ‘atatletizzati do un stichett specifica {ell esempio Vetichetta& de salou), ‘ontengono almeno un messaggio contrassegnata in documents Pat © infine salva nel cloud, alnterno dt una eartella dell account personale di Google Drive [primi due comand indivicuana le sonvetsazioni che contengono mes {gion eicheta desiderata ich. ta po essere fio soltamente alla eezi ppud anche definirea piacimento dire thmente nell interfaces ai mail ga messaggi archiviate © quali no. Per fssurdo si polrebbe anche etichetiare ‘omedasleore(equind memorizzare Jn Drive) tutta la posta in areivo. IL stuccessivo eelo fer (anzi, la cappia di cick for nidifien) analizano tt { messaggi in ognuna delle conver- sazioniindividuate crea dapprima una versione Hem! del testo per og thread: questo avviene attraverso i “App-creteFtt), che ae ‘etta come parameti nome del ile, contenute da seivere al suo interno fil suo content-type In questo caso rispettivamente subject + “hm (omsia Toggetto delle email) body (il conte auto di tut imeseagei) e text/itnl Testo Html a utilizzato in realt solo comande Dri ‘come passaggiointermedio: na volta ‘reat fle ls pud convert al volo in Pa com il comando mescaggia tn. {2tdst application a, por poi slvarlo tn Google Drive. Leulfime opersziont COME FARE > Software ely function esportatventi var eigneender = 2) var calencaris : cow var Fogle = Spreadsheet. gethctiveseet var range + frlio.gtoatotnge effettuan infine una puliziadel'an- var ati = range. getalues Diente lavoro i file Html, ormat var calendor » Caendorsop.tetcalendrsyicalenartd postato nel cetino, e dai messaggi atte noun eGR in Gmal viene eancellata Yetienetta i a cscerione dello scrip le discussion van rig = ans ait elaborate non vengano salva dl var data = new Date(eis8 Fuova (questo per accadea comungue var titolo = rial fe nel fratempo sono arrival uot messaggi eticettt) var tunis = nev bate(rigal2 Come ft lt script anche questo uit eeeatolacta greats Erigorabilein var mo. Spot ‘itis ar ase ae bero pr esempio inserite sequence di rae {sieuzoniperla gestione deh errr, 0 eee ay persalvare anche gi eventalislegat present nel messaggi di posta indivt var thine « ne ote (ga Sua Il ingngaio d scripting off rine setoate(eataget0nte() {nfatt it comando got Attachments) ‘ine. setnorth (data getorth che individu fle allegati aun mes ‘ine. setear (data gees Sagglo presente nllachivio di Gmail permette di salvar in un vettore, ee pronti per essere scritt poi su Drive Soa 6. ESPORTARE EVENTI ‘ry (var evento = calendarstevetserestyl( 46): ) cateh(e DA SHEETS A CALENDAR Questo scrip spond a unsigensa sar univer -ealetarcrestasvestita, ens, tine pratica di molt went anchese Google reeattonsumge) great {enon solo Google) offre un elena rho molto ricco i fnaioni,spese0 s. fintace per annotare gli impegnt in altro modo, Magarin un foglio di ‘alcolo, ripromeltendosi po di co- Pare, un gioeno com calma, tutto nel falendario, Loscript che presentiama occupa esattamente di questa opers settitle titolo setlocatio( 40g) Open) che a {ogli la voce di mens corrspondents alla Funzione principale, le script s function onopn ‘aspetta che il folio di calle contenga eee ean ‘dati organizzati seguendo una una ormattazione press var vociNens = [{ ane : "Esporta event", functlomane : Tsp Idati da riportare nal cslendario devo- foglie. atten Google Centar", velnen); no essere cine criti all intern delle prime cinguecolonne: data, tel, ora {i inicio, ora di fine, logo in ul si gate &iaponde anche alters Mtp:/pastebincam/LnC2aMNg svolge evento, Lasestacolonaaviene Seat pwd tale a Pe Professionals tuilizzata dalle sript per memorizzare (@ COME FARE > Software Prova 01 Inserimenro bat oa SHeeT a CaLenoar Loseript proved che atslan insert in mado preciso alinterna del fog calla Un consgto:rierdatew et impostae il formato dele colenne che contengono date era. Detiagt Test LINK UTILI sete incuros abbestanza sul mando del Google \ ] ‘Apps Serpe volete approfondre Cargomento? eco alc lin acu parte > huts: developers google com/opps-ceriptfoverview ftps: developers google com/opps-seript/ortcles hes: /developers google com/opps-ceip/referonce Sona tr glen fordamentalnel sto Google dacicatoagl Sviuppatert La prima ofre una pansramica generale sugl sept, con numeros! eserpl dl approfandimento del var argoment Laseconds forse ta pi ute) & une serie ci esempietutoia per prendere confdenza con I Unguaggo ele sue poteallta. Lltimsinvece@ une gud completa also delle varie appeal allinterno del script, con ladescralone completa {tutte le unzion’ spon Per rtrovare dn Calendar bloga art a sua finestradimpostacon: la atringealfrumeria che compane id trove vers fondo della pagina Vid detVevento, La compilazione dt questo campo fa si che lo script non ‘Yada a reincerite nel calendario events {creat (riconoscibil propo dad 818 assegnato) ma s limit acl agaior= ‘hare i dai. Ovviamente a posizione de’ dat all interno del foo pub esse re modificata, andando ad apie sug Indic del ettoe rige]-in eu loseript memorlzza dati contenutl nee varie colonne di ogni riga Gialt dat willzesti dalla Funzione sono il numero di eighe da conside- rae come intestazion ello script i esempio il valore 2) eld del calen ‘fasion cai andare aseivere, 1d del falendatio puo essere recuperate, con tun po" di dtfcots,naviganda tra le Inmpostazionl di Google Colendar (si veda, questo proposite, illestrario- ne quia fiance) elemento aa eu vogliamo concentra- repersan stant lanostraatenzione Alparticolare uso del costratto iy or evento = calendar getEventSeiesByld0); eat (e[ Questa operazione serve a verficare che I'd dellevento scit= to nel foglio dl calcolo — se presente “sia in effetti esistente,E se non & ‘un I valida alors Ia fnzione deve 1 Dprovvedere a creare Vevento ex nave, Tiutitizzoditrye calc serve quindl ia questo casoesclusivamentead evitare ‘hell programma ada in esrore sa: pol a successiva istration if even 4) da leggere come "se la variable vento non contiene dati valid” - a deciderecome omportarsise evento fsiste oppure no, 3 ve =mErt hp fg com/google/google-oppe-script-somples ‘Asi esempiuffical lascat da Google drettamente sy GitHub \Uforoso portale deicato alla memertzzazone e alla condvisione Aiprogett software > wurde ergnerne/google-serpts/26261/ Una ist dseript l esempi, acu dequalimetocomplesse ingraoaifa comnprandere le plene poteraalta cel! ambiente seluppo delle Google haps * wunucodecodemy.com Da ltime unlink non esttamente legato a mondo deg srpt ‘Google, me aun cesuol element costitutv:Codehcademy€ Uucottina rsors8 online perimparare 3 programmmarein val ingest cut avaserpt. lac coroscenza dbase ¢ un requsit fondarentae per ruscre anche sla acomprendere lsat che ‘ovate in quese gine che potete recuperare online

You might also like