google apps script: accessing google apps & other google services with javascript

22
*RRJOH $SSV 6FULSW $FFHVVLQJ *RRJOH $SSV RWKHU *RRJOH VHUYLFHV ZLWK -DYD6FULSW :HVOH\ &KXQ 'HYHORSHU $GYRFDWH *RRJOH *'* 6LOLFRQ 9DOOH\ )DOO &RQWULEXWH TXHVWLRQV DW BJJBGMGH $ERXW WKH 6SHDNHU Ζ &RGH

Upload: wesley-chun

Post on 15-Jun-2015

251 views

Category:

Technology


4 download

DESCRIPTION

Session deck from "Accessing Google Apps & other Google services with JavaScript" talk given on Wed, 2014 Nov 5th from Google headquarters in Mtn View, California. http://meetup.com/gdg-silicon-valley/events/207609752

TRANSCRIPT

Page 1: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

*RRJOH�$SSV�6FULSW$FFHVVLQJ�*RRJOH�$SSV��RWKHU�*RRJOH�VHUYLFHV�ZLWK�-DYD6FULSW

�:HVOH\�&KXQ'HYHORSHU�$GYRFDWH

*RRJOH

*'*�6LOLFRQ�9DOOH\��)DOO�����

&RQWULEXWH�TXHVWLRQV�DW�

BJJ�BG�M���GH

$ERXW�WKH�6SHDNHU���&RGH

Page 2: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

$ERXW�WKH�6SHDNHU���7HDFK

$ERXW�WKH�6SHDNHU���:ULWH

Page 3: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

ΖQWURGXFWLRQ:KDW�LV�LW"�"

$QRWKHU�*RRJOH�VHFUHW"

Page 4: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

)QQING�#2+U�%NKGPV�.KDTCT[HQT�,CXC5ETKRV�

�)QQING�#RRU�5ETKRV

)QQING�#2+U�%NKGPV�.KDTCT[HQT�,CXC5ETKRV�

�)QQING�#RRU�5ETKRV

Page 5: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

)QQING�#2+U�%NKGPV�.KDTCT[HQT�,CXC5ETKRV�

�)QQING�#RRU�5ETKRV

*RRJOH�$SSV�6FULSW

�-DYD6FULSW�$3,�̸IODYRU̹�EXLOW�LQ�̸IODYRU̹�2$XWK���\RX�

Page 6: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

1RW�VRPHWKLQJ�WRWDOO\�QHZ

-6

1RW�\RXU�GDGG\ȇV�-DYD6FULSW

Page 7: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

1RW�1RGH�MV�HLWKHU

Page 8: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

'ULYH

$SSV�MXVW�WKH�EHJLQQLQJ

'ULYH

$SSV�6FULSW�SRZHUV�DGG�RQV

(�1�

Page 9: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

2WKHU�*RRJOH�VHUYLFHV

%XW�ZDLW��WKHUHȇV�PRUH���*RRJOH�$SSV�VHUYLFHV$GPLQ�6'.&DOHQGDU&RQWDFWV'RFV'ULYH)RUPV*PDLO*RRJOH��'RPDLQV*URXSV0DSV6LWHV6KHHWV7DVNV

2WKHU�*RRJOH�VHUYLFHV$G6HQVH$QDO\WLFV%LJ4XHU\)XVLRQ�7DEOHVJRR�JO0LUURU��*ODVV�3UHGLFWLRQ7UDQVODWH<RX7XEH

2WKHU�VHUYLFHV85/�)HWFK-'%&̿�DQG�PRUH̿

Page 10: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

/HWȇV�ORRN�DW�FRGH�+HOOR�:RUOG��DQG�PRUH���

-6

+HOOR�:RUOG�

-6

Page 11: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

0RUH�*RRJOH-6

([DPSOH��7KH�VSUHDGVKHHW��*RRJOH�6KHHWV�

Page 12: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

([DPSOH��7KH�$SSV�6FULSW�FRGH

API>ODJI�N@I?�<K� �£��Q<M�NC@@O�Ó��KM@<?NC@@O�KK�B@O�>ODQ@�C@@O� ���Q<M�<??M@NN�Ó�NC@@O�B@O�<IB@�¯�½¯ �B@O�<GP@� ���Q<M�H<K�Ó��<KN�I@R�O<OD>�<K� �<??�<MF@M�<??M@NN ����<DG�KK�N@I?�H<DG��������¯�<K¯��H<K�B@O�<K�MG�  �¤

-6

([DPSOH��$FFHVV�WKH�VSUHDGVKHHW��DQG�GDWD�

API>ODJI�N@I?�<K� �£��Q<M�NC@@O�Ó��KM@<?NC@@O�KK�B@O�>ODQ@�C@@O� ���Q<M�<??M@NN�Ó�NC@@O�B@O�<IB@�¯�½¯ �B@O�<GP@� ���Q<M�H<K�Ó��<KN�I@R�O<OD>�<K� �<??�<MF@M�<??M@NN ����<DG�KK�N@I?�H<DG��������¯�<K¯��H<K�B@O�<K�MG�  �¤

-6

Page 13: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

([DPSOH��0DNH�*RRJOH�0DSV�UHTXHVW

API>ODJI�N@I?�<K� �£��Q<M�NC@@O�Ó��KM@<?NC@@O�KK�B@O�>ODQ@�C@@O� ���Q<M�<??M@NN�Ó�NC@@O�B@O�<IB@�¯�½¯ �B@O�<GP@� ���Q<M�H<K�Ó��<KN�I@R�O<OD>�<K� �<??�<MF@M�<??M@NN ����<DG�KK�N@I?�H<DG��������¯�<K¯��H<K�B@O�<K�MG�  �¤

-6

([DPSOH��$VN�*PDLO�WR�VHQG�D�PHVVDJH

API>ODJI�N@I?�<K� �£��Q<M�NC@@O�Ó��KM@<?NC@@O�KK�B@O�>ODQ@�C@@O� ���Q<M�<??M@NN�Ó�NC@@O�B@O�<IB@�¯�½¯ �B@O�<GP@� ���Q<M�H<K�Ó��<KN�I@R�O<OD>�<K� �<??�<MF@M�<??M@NN ����<DG�KK�N@I?�H<DG��������¯�<K¯��H<K�B@O�<K�MG�  �¤

-6

Page 14: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

3URGXFW�KLVWRU\:KDWȇV��ROG�DQG��QHZ"

$�%ULHI�+LVWRU\

����6FULSWV�LQ�6SUHDGVKHHWV&XVWRP�IXQFWLRQV

����8L$SS:HE�$SSV��UXQ�DV

GHYHORSHU6FULSW�*DOOHU\

����6FULSWV�LQ�6LWHV*8�%XLOGHU

����6WDQGDORQH�VFULSWV+WPO6HUYLFH6FULSW'E:HE�$SSV��UXQ�DV�XVHU/LEUDULHV�DQG�YHUVLRQV&RQWHQW�VHUYLFH&KURPH�:HE�6WRUH

����6FULSWV�LQ�'RFV6FULSWV�LQ�)RUPV'ULYH�$3Ζ2$XWK�)DVWHU�+WPO6HUYLFH'DWD�9DOLGDWLRQ�$3Ζ

����'RFV��6KHHWV�DGG�RQVΖQVWDOODEOH�WULJJHUV)RUPV�DGG�RQV1HZ�'RFV�VHUYLFH8QLILHG�3URSHUWLHV

VHUYLFH

Page 15: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

5HFHQW�ΖPSURYHPHQWV

*RRJOH�)RUPV�$3�DFFHVV��0D\������

���&TGCVG�HQTO�CPF�GOCKN�NKPM�

XCT�HQTO� �)QTO$RR�ETGCVG�

��'KPPGT�3NCPPKPI�)QTO��

HQTO�UGV7KVNG�'KPPGT�$XCKNCDKNKV[��

HQTO�UGV&QNNGEV(OCKNU�VTWG��

XCT�KVGO� �HQTO�CFF&JGEMDQZ,VGO���

KVGO�UGV7KVNG�

��:JCV�FC[U�CTG�[QW�CXCKNCDNG"��

KVGO�UGV&JQKEG9CNWGU�

��>0QPFC[��7WGUFC[��:GFPGUFC[@��

0CKN$RR�UGPF(OCKN�

��6GUUKQP�IGV$EVKXG8UGT���IGV(OCKN���

��3NGCUG�HKNN�QWV�VJKU�HQTO�

��HQTO�IGV3WDNKUJGF8TN����

-6

XCT�HKNGU� �'TKXG$RR�IGV)KNGU���

YJKNG��HKNGU�JCU1GZV����]

����XCT�HKNG� �HKNGU�PGZV���

����/QIIGT�NQI�HKNG�IGV1COG����

_

-6SWK\7GORNCVG�UGV6JCTKPI�'TKXG$RR�$EEGUU�$1<21(B:,7+B/,1.��'TKXG$RR�3GTOKUUKQP�9,(:��

-6

5HFHQW�ΖPSURYHPHQWV*RRJOH�'ULYH�$3Ζ�DFFHVV��0D\������

Page 16: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

5HFHQW�ΖPSURYHPHQWVΖPSURYHG�2$XWK���SDQHOV��-XO������

%HIRUH $IWHU

5HFHQW�ΖPSURYHPHQWV$3Ζ�WR�DFFHVV�$SSV�6FULSW�FRGH��2FW������

Page 17: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

5HFHQW�ΖPSURYHPHQWV$SSV�6FULSW�VXSSRUW�LQ�*RRJOH�3OXJLQ�IRU�(FOLSVH��2FW������

5HFHQW�ΖPSURYHPHQWV$GPLQ�6'.��*ODVV�DQG�RWKHU�$3ΖV�H[SRVHG��'HF������

Page 18: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

5HFHQW�ΖPSURYHPHQWV$GG�RQV�IRU�'RFV��6KHHWV��DQG�)RUPV��0DU��2FW������

8VH�FDVHVȐ�SOXV�FRQFOXVLRQ��OLYH�GHPRV�

Page 19: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

$SSV�6FULSW�XVH�FDVHV

Ɣ (QWHUSULVH�:RUNIORZV�ż 'RFXPHQW�$SSURYDO��3XUFKDVH�2UGHUV

Ɣ 5HVRXUFH�0DQDJHPHQW�ż 7LPH�%RRNLQJ��+HOSGHVN��3URMHFW�7UDFNLQJ��0DLO�5RRP�0DQDJHPHQW��%LOOLQJ

Ɣ $XWRPDWLRQż $XWR�FUHDWH�FDOHQGDU�HYHQWV��PDLO�PHUJH��PRYH�FHOOV�LQ�VSUHDGVKHHW

Ɣ 5HSRUWLQJż 'DVKERDUGV��1LJKWO\�UHSRUWV

Ɣ ΖQWHJUDWLRQ�*OXH�ż 6DOHV)RUFH�FRP��7ZLWWHU

Ɣ 'RPDLQ�$GPLQLVWUDWLRQż $GG�XVHUV��UHVHW�XVHU�DFFRXQWV��DXWR�FUHDWH�VLWHV�IROGHUV�IRU�XVHUV

*)RUPΖW��)OXEDURR�WHDFKHUVȇ�WRROV�

Ɣ $XWRPDWLFDOO\�FUHDWHV�H[DPV�TXL]]HV�IURP�TXHVWLRQV�LQ�*RRJOH�'RFVƔ $XWR�VXEPLVVLRQ�DV�JUDGLQJ�NH\�LI�DQVZHUV�SURYLGHG�ZLWK�TXHVWLRQV

Ɣ $XWR�JUDGLQJ�RI�UHVXOWV�LQ�D�6KHHW�DJDLQVW�DQVZHU�NH\Ɣ (PDLOV�UHVXOWV��DQVZHUV�WR�VWXGHQWV�SOXV�FKDUWV�WR�DQDO\]H�UHVXOWV

Page 20: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

0DQ\�W\SHV�RI�PDLO�PHUJH

Ɣ 'HILQH�D�VLPSOH�WHPSODWH�XVLQJ�D�GUDIW�HPDLO��GRFXPHQW��VLWHV�SDJH��RU�VSUHDGVKHHW�FHOO

Ɣ $GG�SODFHKROGHU�YDOXHV�WKDW�VKRXOG�EH�G\QDPLFDOO\�UHSODFHGƔ (DFK�VSUHDGVKHHW�URZ�PHUJHG�ZLWK�WHPSODWH�DQG�VHQW�RXW

9DFDWLRQ�FDOHQGDU�IRU�%URZQ�8QLYHUVLW\

Ɣ $JJUHJDWHV�WRJHWKHU�DOO�WKH�VWDII�WKDW�DUH�RQ�YDFDWLRQ�WKDW�GD\Ɣ &UHDWHV�D�VLQJOH�FDOHQGDU�HYHQW�HDFK�GD\�ZKLFK�OLVWV�HYHU\RQH�

WKDW�LV�RXWƔ 0DNHV�LW�HDVLHU�WR�UHDG�\RXU�FDOHQGDU

Page 21: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

-XVW�RSHQ�WKH�VFULSW�HGLWRU�

7\SHV�RI�$SSV�6FULSWV�DQG�KRZ�WR�JHW�VWDUWHG

Ɣ 6WDQGDORQH�VFULSWƔ VFULSW�JRRJOH�FRPƔ *RRJOH�'ULYH�!�&UHDWH�!�6FULSW

Ɣ 'RFV��6KHHWV��RU�)RUPV�DGG�RQV��GRFXPHQW�ERXQG�VFULSWVƔ 7RROV�!�6FULSW�(GLWRUƔ $GG�RQV�!�*HW�0DQDJH�DGG�RQV���

Ɣ 6LWHV�ERXQG�VFULSWƔ 0RUH�!�0DQDJH�6LWH�!�$SSV�6FULSWV�!�$GG�QHZ�VFULSW

6XPPDU\

Ɣ $SSV�6FULSW��MXVW�-DYD6FULSWż �0RVWO\��5XQV�LQ�*RRJOHV�FORXG��VHUYHU�VLGH���QRW�LQ�EURZVHUż 1R�QHHG�WR��OHDUQ�D�QHZ�SURJUDPPLQJ�ODQJXDJH�

Ɣ /HWV�\RX�SURJUDPPDWLFDOO\�DFFHVV�$SSV�GDWDż &RQQHFW�WR�6KHHWV��0DSV��'ULYH��7UDQVODWH��DQG�PRUH�ż 5XQV�LQVLGH�DXWKHQWLFDWHG�HQYLURQPHQWż 1R�VHWXS�DQG�DXWRPDWLF�GHSOR\PHQW

Ɣ :RUN�LQ�3URJUHVVż 0DQ\�QHZ�IHDWXUHVż ΖPSURYHG�SHUIRUPDQFH

Ɣ 0DQ\�GLIIHUHQW�XVH�FDVHVż /RWV�RI�JUHDW�VFULSWV�RXW�WKHUH�DOUHDG\�ż 6WDQGDORQH�RU�DSSOLFDWLRQ�ERXQG�VFULSWV

Ɣ 0DQ\�SODFHV�WR�OHDUQ�RU�JHW�KHOSƔ 1R�ORQJHU�*RRJOHV�EHVW�NHSW�VHFUHW"�"Ɣ (YHQ�PRUH�SRZHUIXO�WRROV�DYDLODEOH�IURP�*RRJOH

Page 22: Google Apps Script: Accessing Google Apps & other Google services with JavaScript

1H[W�VWHSV

'RFXPHQWDWLRQƔ GHYHORSHUV�JRRJOH�FRP�DSSV�VFULSWƔ 8VHU�JXLGH�FRYHULQJ�EDVLF�IXQFWLRQDOLW\Ɣ ����WXWRULDOV�ZLWK�FRGH

9LGHRVƔ 'HYHORSHU�FKDQQHO��*RRJOH'HYHORSHUVƔ &RQVXPHU�FKDQQHO��*RRJOH$SSV

+HOS��VXSSRUW�RQ�6WDFN�2YHUIORZƔ 7DJ�TXHVWLRQV�ZLWK�JRRJOH�DSSV�VFULSWƔ 9HU\�DFWLYH�FRPPXQLW\��*RRJOH�PRGHUDWHG

*RRJOH�$SSV�'HYHORSHU��*RRJOH�'HYHORSHUV�EORJV*RRJOH��FRPPXQLWLHV

7KDQN�\RX��4$

:HVOH\�&KXQZHVF�DSL#JRRJOH�FRP

'HYHORSHU�$GYRFDWH��*RRJOH#ZHVFS\

JRRJOH�FRP��:HVOH\&KXQ