Google Apps Scriptã®å¶éäºé ã泚æç¹ããŸãšããŸãã
ãã£ããã®æ¥ã§ãã®ã§ãä»å¹ŽåºŠããGoogle Apps ScriptãåããŠã¿ãããïŒãšæã£ãŠãã人åãã»ã»ã»ãšã¯èšããªããããããŸããããGASãæ±ã£ãŠããŠã¶ã€ããå¯èœæ§ã®ããåçš®å¶éäºé ã泚æç¹ã«ã€ããŠãŸãšããŠã¿ãŸããã
çµæ§å¶éäºé ããããèžã¿èŸŒãã§äœ¿ãããšããã°ããã»ã©äžå¯è§£ãªãã©ãã«ãåŸ ã£ãŠãããããŸããç¹ã«ã³ãŒãã¯æ£ããã¯ããªã®ã«åããªããšããã±ãŒã¹ã¯ãã®å¶éäºé ãªã©ã«åŒã£ããã£ãŠãæããããã®ã§ãäžåºŠç¢ºèªããŠã¿ãŠãã ããã
ç®æ¬¡
- 1 GASã®å¶éäºé
- 2 éçšäžã®æ³šæç¹
- 2.1 ãµãŒããŒé害ã§å®è¡ãããªã
- 2.2 è€æ°ã¢ã«ãŠã³ãã§ãã°ã€ã³ããŠãå Žå
- 2.3 ããªã¬ãŒã«ãŸã€ãããã©ãã«
- 2.4 äœã蟌ã¿éãã«æ³šæ
- 2.5 å€éšå ¬éæã«äºæããªãé¢æ°ãå®è¡ãããå¯èœæ§
- 2.6 å®è¡æã®ã¢ã¯ã»ã¹æš©éã«ã€ããŠ
- 2.7 ãœãŒã¹ã³ãŒãã®å€éšä¿å®
- 2.8 å人ã¢ã«ãŠã³ãã§éçšããªã
- 3 é¢é£ãªã³ã¯
GASã®å¶éäºé
Quotaé¢ä¿
å®è¡æéã®å¶é
Google Apps Scriptã¯çŸåšå šãã©ã³ã«æŒããŠé£ç¶çšŒåæéã¯6åãŸã§ãšããå¶éãååšããŠããŸãããã®ãããå¹çã®æªãã³ãŒããåããããèšå€§ãªæ°ã®ã¹ãã¬ããã·ãŒãã®ããŒã¿ãæŸã£ãŠãããªã©ããŠããšã6åã®å£ã«ã¶ã€ããåŠçãéäžã§äžæããŠããŸããŸãã
ãã®ããããªãã¹ãAPIãå©ãåæ°ãæžããããã®åªåããé«éåãå³ãããã®åªåãããå¿ èŠæ§ããããŸããåŠçã§ããæéã«å€§ããªå·®ãçãŸããçºããªãã¹ãæ©ã段éããããããã«ããŒãããã¯ããã¯ã身ã«çããŠãããªããšãããããèŠãããããããšã«ãªããŸãã
以äžã®ãšã³ããªãŒã§ã¯é«éåããããã¯ããã¯ããã³ã©ãããŠã6åãè¶ ããå Žåã®å£ãè¶ ããŠå®è¡ãããã¯ããã¯ã«ã€ããŠãŸãšããŠããŸãã
Google Apps Scriptãé«éåãããã¯ããã¯ãŸãšããGASã
Google Apps Scriptã§6åã®å£ïŒã¿ã€ã ã¢ãŠãïŒãçªç ŽãããGASã
Google Apps Scriptã§6åã®å£ïŒã¿ã€ã ã¢ãŠãïŒãçªç Žãã - çªå€ç·šãGASã
ãµãŒãã¹ãšããŠã®å©çšäžé
Google Apps Scriptã«ã¯æ確ã«ãµãŒãã¹åäœã§QuotaãšåŒã°ãããã®ãèšããããŠããŸããã¢ã«ãŠã³ãåäœã1æ¥åäœãåäœç§æ°åœããããªã©ãªã©æ§ã ãªéŸå€ãèšããããŠãããããå®è¡ããå Žåã«ã¯æèããŠè¶ ããªãããã«ããªããã°ãªããŸããã以äžã¯Google Workspaceã®å Žåã§ãã
ãã®äžã§äž»ã«ããééãããã®ãããã¯ã¢ããããŠã¿ãŸããã
- åäžã¹ã¯ãªããåæå®è¡æ°ã®äžéïŒ30ãŠãŒã¶ãŸã§ããŠã§ãã¢ããªã«åæã«30å以äžã¢ã¯ã»ã¹ãããšèµ·ããããã
- ã¡ãŒã«éä¿¡äžéå€ïŒ2000é/1æ¥/1ã¢ã«ãŠã³ããŸã§ãDMãªã©ã§å€§éã«éãããå Žåã«ã¯ãGCPäžã«SendGridãæ§ç¯ãããå€éšã®ãµãŒãã¹ãå©çšããã»ãããã¿ãŒã
- ããªã¬ãŒã«ããå®è¡æéäžéå€ïŒ6æé/1æ¥/1ã¢ã«ãŠã³ããŸã§ãäœåãè€æ°ã®ã¹ã¯ãªããã§é 眮ããŠããšè¶ ããã¡ã§ãã
- ã¹ãã¬ããã·ãŒãã®äœæäžéå€ïŒ3200å/1æ¥/1ã¢ã«ãŠã³ããŸã§ãããã¥ã¡ã³ãçæããã¯å¶éå€ããããããã©ãäžçªå€ã䜿ãã®ã§æ³šæã
- ãŠãŒã¶å®çŸ©é¢æ°ã®é£ç¶å®è¡äžéå€ïŒ30ç§ãŸã§ãè¶ ãããšã¹ãã¬ããã·ãŒãäžã§ãœã¬ä»¥éã®ã»ã«ã¯ãšã©ãŒè¡šèšãšãªã
- ã¡ãŒã«ã®æ·»ä»ãã¡ã€ã«ãµã€ãºäžéå€ïŒ25MBãŸã§ã瀟å å®ãŠã¯ãã©ã€ããžã®ãªã³ã¯ãšããŠã瀟å€ã«éãå Žåã¯ãªãã¹ãã³ã³ãã¯ãã«ããŸãããïŒç¹ã«ç»åã®çžŠæšªã®ãµã€ãºãç¡é§ã«å·šå€§ãªã®ãšãïŒ
- UrlfetchAppã§æ±ããã¡ã€ã«ãµã€ãºäžéå€ïŒ50MBãŸã§ããã¡ã€ã«ã®ããŠã³ããŒããã¢ããããŒãã§è¶ ãããããDrive APIã§åé¿ããæ¹æ³ããã
- ãŠã§ãã¢ããªã®ãããã€å±¥æŽäžéå€ïŒæ倧200åãŸã§ãäžéå€ã«éãããšãããã€ã§ããªããªãã®ã§éå»ã®ãåé€ããå¿ èŠãããã
- ã¹ãã¬ããã·ãŒãã®ã»ã«ã®äžéå€ïŒ1000äžã»ã«ãŸã§ãããŒã¿ãéçŽæã«è¶ ããå¯èœæ§ã¯ååããã
ä»ã«ãDriveãžã®ãã¡ã€ã«ã¢ããã¯1æ¥1ã¢ã«ãŠã³ã750GBãŸã§ãšãã£ãå¶çŽãããããã©ãGASã§éããããšã¯ã»ãŒããåŸãªãã®ã§æ°ã«ããªããŠè¯ãã
ãŸãããŠã§ãã¢ããªã®å Žåããããã€ãã人ã®æš©éã§åããããšããå Žåããã®äººãAPIãå©ããŠãããšã«ãªãã®ã§å¶éå€ã«åŒã£ãããããããªããŸããã¢ã¯ã»ã¹ããŠããŠããŠãŒã¶ã®æš©éã§åããããã«ããã°åæ£ã§ããã®ã§åé¿ãããããªããŸãã
Google Apps Scriptã§ãã¡ã€ã«ã¢ããããŒããäœããGASã
Google Apps Scriptã§ãŠãŒã¶å®çŸ©é¢æ°ãäœããGASã
ãªã¯ãšã¹ãééã®äžé
Googleå ¬åŒããã¥ã¡ã³ãã«ã¯èšèŒãç¡ãã®ã§ãããå€éšãµãŒãã¹ã®REST APIãå©ãéã«å©çšããUrlfetchAppããã®ã¡ãœããã«ã¯ïŒã€ã®åŽé¢ã§å¶çŽããããŸãã
- çæéã«äœåºŠãUrlfetchAppãå©ããš429ãšã©ãŒïŒToo Many RequestïŒãçºçããŠã¹ã¯ãªãããæ¢ãŸããŸãã
- ãŸããçžæåŽãµãŒãã§ãæå®æéå ã«æ¢å®å€ãè¶ ãããªã¯ãšã¹ããæãããšåæ§ã«429ãšã©ãŒãè¿ãããŠãšã©ãŒãšãªããŸãã
åè ã®å Žåã¯Googleã®ãµãŒãããè¿ããããã®ã§ã1ç§éã«4å以äžã®ãªã¯ãšã¹ããæãããšèµ·ããã®ã確èªããŠããŸãããã£ãŠã3åãªããã1ç§éãŠã§ã€ããå ¥ããããã«Utilities.sleep(1000)ãå ¥ããŠèª¿æŽããŠãããå¿ èŠããããŸãã
ãŸããGoogleåŽã¯ãããŠããçžæåŽã®REST APIã®ãµãŒãåŽã«ãåœç¶å¶éãããã1åéã«äœåãŸã§ãšãªã¯ãšã¹ãäžéãããã®ãéåžžã§ãããããè¶ ããªãããã«åæ§ã«ãŠã§ã€ããå ¥ããŠã¹ããŒã調æŽããŠäžããå¿ èŠããããŸãã
ãããããŠã§ã€ããå ¥ãããšããããšã¯ããã ãåŠçã®åèšæéã¯äŒžã³ãããšã«ãªãã®ã§ãåè¿°ã®å®è¡æéã®å¶éã«åŒã£ãããå¯èœæ§ãããã®ã§èŠæ³šæã§ãã
èšèªä»æ§ã«ããå¶é
Google Apps Scriptã¯ã»ãŒJavaScriptãªã®ã§ãããèŠæ Œçã«ã¯EcmaScript2019ãŸã§ã®å¯Ÿå¿ãšãªã£ãŠããŸãããŸãããµãŒããµã€ãã§åãèšèªã§ãã®ã§ããã«ãŸã€ããå¶éããããŸãã
- ããŒã«ã«ç°å¢ã®ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ã¯åºæ¥ãŸããïŒå¿ ããã©ã€ãããŠã§ãäžã«é 眮ããŠããå¿ èŠããããŸãïŒ
- sleepã¡ãœãããwindowãªããžã§ã¯ããæ±ããŸããïŒGASã«Utilities.sleepãããã®ã§ããã«çœ®ãæããïŒ
- exportãmoduleãšãã£ãä»æ§ã«å¯Ÿå¿ããŠããŸããã
- ã°ããŒãã«å€æ°ã¯ãã¡ã€ã«ãå¥ã§ãéè€ãããããšãåºæ¥ãŸããïŒåžžã«ïŒãããžã§ã¯ãã§ãŠããŒã¯ã§ããå¿ èŠããããŸãïŒ
- ãŠã§ãã¢ããªã¯iframeã®sandboxå ã§å®è¡ãããŠããããæã æåãããããäºäŸããã
- ãŠã§ãã¢ããªã¯SPAãªä»æ§ã®ãã®ããäœããªããããç»é¢é·ç§»ã¯åºæ¥ãªãïŒç»é¢é·ç§»ã£ãœãäœãæ¹ãããå¿ èŠãããïŒ
- ãŠã§ãã¢ããªãžã®ã¢ã¯ã»ã¹å¶éã¯èªåã®ã¿ãïŒçµç¹å šäœãïŒã®åºæ¬2æïŒç¹å®ãŠãŒã¶ã®ã¿äœ¿ãããå Žåã¯å¥éããžãã¯ãå¿ èŠïŒ
- JavaScriptçšã®ã©ã€ãã©ãªããã®ãŸãŸäœ¿ãããšã¯éããªãïŒPDFLibã¯ã¡ãã£ãšæä¿®æ£ãå ãããåããŸããïŒ
- UrlfetchAppã§ã¯User-Agentã®æžãæããåºæ¥ãªããããç¹å®ã®REST APIãžã®ã¢ã¯ã»ã¹ãéããªãå Žåãããã
- UrlfetchAppã§ã¹ã¯ã¬ã€ãã³ã°ãããå Žåã¯ãJSã§æžãæããããªãéçãªããŒãžããæäœã§ããªãïŒåçãªããŒãžã¯Cloud Functionsã§Puppeteerãåããå¿ èŠãããïŒ
- éåžžGASã¯äžããäžã«åãã£ãŠåæçã«å®è¡ãããããgoogle.script.runã§åŒã³åºãå Žåã¯éåæã§å®è¡ãã次ã®åŠçããŸããã«é²ãã§ããŸãïŒã³ãŒã«ããã¯ãªã©ã䜿ã£ãŠé 次åŠçãå®è£ ããå¿ èŠãããïŒ
- ãŠã§ãã¢ããªåŽããã¯GASã®ã©ã€ãã©ãªå ã«ããé¢æ°ãçŽæ¥å®è¡ããããšãåºæ¥ãªãïŒéã«æ©æž¡ãããé¢æ°ãå¿ èŠïŒ
- GASã§ã¯ã©ã¹ãªã©ãæ§ç¯ããå Žåã芪ã¯ã©ã¹ããããã¡ã€ã«ãåŒã³åºãåŽããäžã®é çªã«ããå Žåããšã©ãŒã«ããïŒå¿ ãåŒã³åºãããåŽãããäžã«ãã¡ã€ã«ãããªããã°ãªããªãïŒ
- GCPåŽã®ãµãŒãã¹ã¢ã«ãŠã³ãã¯Google Apps Scriptã®ã³ãŒããå®è¡ããããšãåºæ¥ãŸããã
Google Apps Scriptã§ã¹ã¯ã¬ã€ãã³ã°ã極ãããGASã
Google Apps Scriptã§PDFãã©ãŒã ãæäœãããGASã
Google Apps Scriptã®V8 Runtime察å¿ãæ€èšŒããŠã¿ããGASã
䌌ãŠãããã©éãã¡ãœãã
Google Apps Scriptã«ã¯Google Workspaceã®æ§ã ãªãµãŒãã¹ãAPIãšãã圢ã§åŒã³åºããŠæ°ã ã®ã¡ãœãããç°¡åã«äœ¿ããããã«ãªã£ãŠããŸãããããããã®ã¡ãœãããªã®ã§ããã䌌ããããªãã®ãéãã¯ã©ã¹ã«ãçšæãããŠãããããŸãããããŠããã¡ãã¯ç®¡çè æš©éãå¿ èŠã§ãã£ããåºæ¥ãããšã«å€§ããªå·®ããã£ããããŸãã
äž»ãªäŸç€ºãããããš
- MailAppãšGmailAppïŒã©ã¡ããã¡ãŒã«ãéãããããã©åŸè ã®ã»ããé«æ©èœã§åºæ¥ãããšãå€ãã
- GroupAppãšAdminDirectoryïŒã©ã¡ããã°ã«ãŒããæ±ãããããã©åŸè ã®ã»ããé«æ©èœã§ç®¡çè æš©éãå¿ èŠã
ãŸããæ¢ã«äžæ¹ã¯å»æ¢ãããŠããŸããŸããã䞊è¡éçšãããã®ã¡ã«çµ±åããããã®ããã£ããããŸãã
- DocsListãšDriveAppïŒDrive APIïŒïŒã©ã¡ãããã©ã€ããæ±ãããããã©åŸè ã®ã»ããé«æ©èœã ããã©äžéšæããŠãæ©èœãããã
- ContactsAppãšPeople APIïŒã©ã¡ããé£çµ¡å ãæ±ãããåŸè ã®ã»ããé«æ©èœã ããã©æ±ããé£ããã
ä»ãAdvanced Google Serviceã§æ±ããSheet APIã¯ã¹ãã¬ããã·ãŒããæ±ããŸãããSpreadsheetAppãšéã£ãŠãŸãšããŠãããåŠçãªã©GASã®ã¡ãœããã«ã¯ãªãå©ç¹ããã£ãããšãGASåŽã®ã¡ãœããã®ã»ããå šéšãç¶²çŸ ããŠããªãããšãå€ã ãããŸãã®ã§ã䜿ãåããå¿ èŠã§ãã
Google Apps Scriptã§Sheets APIã䜿ã£ããçéã ã£ããGASã
Google Apps Scriptã§ã°ã«ãŒãã¡ã³ããŒãšã«ã¬ã³ããŒãªãœãŒã¹ãååŸãã
Google Apps Scriptã§ã¡ãŒã«ãéä¿¡ãã - MailAppç·šãGASã
ã¹ã³ãŒãã足ããªãå Žå
GASã¯ã¹ã¯ãªããååå®è¡æã«å¿ èŠãªæš©éã«ã€ããŠæ¿èªãããšããŠããŸããåºæ¬ã¯æ¿èªããã°ããã§ãªãã±ãŒãªã®ã§ãããäžéšã®APIãå®è¡ããå Žåããã§ã¯è¶³ããªãã±ãŒã¹ããããŸãã
- Advanced Google Serviceã§APIãæå¹ã«ããå Žåã«äžéšã®APIã§oAuthScopeã«æ瀺çã«ã¹ã³ãŒããèšè¿°ããªããšåããªãã±ãŒã¹ãããïŒGoogle Chat APIãªã©ïŒ
- Picker APIãªã©HTMLåŽã§äœ¿ãã©ã€ãã©ãªãåããéã«ãããŒã§DriveAppãæ¿èªããããã«ã³ãŒãããããŠãããªããšãã¡ã€ã«éžæãã§ããªãã
- ããªããBigQuery APIã䜿ãå Žåãã¹ãã¬ããã·ãŒããå€éšããŒãã«ãšããŠãªã³ã¯ããŠããã®ãæäœããå ŽåããããŒã§DriveAppãæ¿èªããããã«ã³ãŒãããããŠãããªããšãšã©ãŒã«ãªãã
- äžéšã®APIã¯GASã®ãããžã§ã¯ããGCPåŽãããžã§ã¯ããšé£çµããŠãGCPåŽã§ãAPIãæå¹åããå¿ èŠæ§ããã
- GCPåŽã®APIãªã®ã ããã©ã1.åæ§ã«oAuthScopesã§æ瀺çã«ã¹ã³ãŒããèšè¿°ããªããšå©ãã403ãšã©ãŒã«ãªãã±ãŒã¹ãããïŒGeminiãå©ãäºäŸãããã§ããïŒ
- äžéšã®ç¹æ®ãªAPIãå®è¡ããå Žåã¯ãGoogle Apps Script APIããªã³ã«ããªããšå®è¡ããããšãåºæ¥ãŸããïŒãœãŒã¹ã³ãŒããappsscript.jsonãGASããæžãæãããããªã±ãŒã¹ïŒ
Pickerã§ãã¡ã€ã«ããã©ã«ããéžæããç»é¢ãè£ åãã
Google Apps Scriptã§Google Chatã«ã¡ãã»ãŒãžãéããGASã
ããªã¬ãŒã§åŒã³åºãæã®å¶é
ã¹ã¯ãªããããªã¬ãŒã§èªåå®è¡ãããå Žåã«åŒã³åºãæã«æŒããå¶éããããŸãã
- onEditãªã©ã®ã·ã³ãã«ããªã¬ãŒã®å ŽåãSpreadsheetAppã®ãããªã¹ã³ãŒããèŠæ±ããã³ãŒãã䜿çšããããšã¯åºæ¥ãŸããã
- æéããªã¬ãŒã«æŒããŠãé¢æ°ã«åŒæ°ãæå®ããããšã¯åºæ¥ãŸããïŒã¹ã¯ãªããããããã£ãªã©ã䜵çšããŠå®è¡ãããé¢æ°åŽã§å¶åŸ¡ãå¿ èŠïŒ
- æéããªã¬ãŒã®å ŽåãgetActiveSpreadsheetãªã©ãæ£ããåããªããopenByIdãªã©ã§æ瀺çã«ãã¡ã€ã«ãæå®ããå¿ èŠãããïŒå®è¡æã«ãã¡ã€ã«ãéãããŠããªãçºïŒã
éçšäžã®æ³šæç¹
ãµãŒããŒé害ã§å®è¡ãããªã
GASã¯Googleã®ãµãŒãäžã§å®è¡ãããŠããããããµãŒãé害ã倧èŠæš¡ã¢ããããŒãããã£ãå Žåã«ç¹å®ã®ã¡ãœãããåããªããšããããšããŸãŸãããŸããã¹ããŒã¿ã¹ããã·ã¥ããŒããèŠãŠãé害ã¯èšé²ãããªãã®ã§åœ¹ã«ã¯ç«ã¡ãŸããã
éåžžã¯ç¿æ¥ã«ã¯çŽã£ãŠãããšãå€ãã®ã§ãããã¢ããããŒãã«ããé害ãªã©ã¯Issue Trackerã«å ±åãäžãã£ãŠãããšããããŸããããããäžã«ã¯ãã®ã¢ããããŒãã¯ä»æ§ã§ããæ£åžžã§ãããšããããšã§Issueã®ä¿®æ£ãæåŠãããŠããŸã£ãŠãã±ãŒã¹ããããŸãã
ãã®å ŽåStackOverflowãªã©ã§è§£æ±ºçãæ瀺ãããŠãããšãããã®ã§ããããã確èªããŠåé¿çãè¬ããå¿ èŠæ§ããããŸãã
GASã§ããã®æäœãå®è¡ããã«ã¯æ¿èªãå¿ èŠã§ãããåã³åºããšã©ãŒ
è€æ°ã¢ã«ãŠã³ãã§ãã°ã€ã³ããŠãå Žå
çµæ§å ±åããããã©ãã«ãªã®ã§ãããã¹ãã¬ããã·ãŒããéããŠã¹ã¯ãªãããå®è¡ãããæå³äžæãªãšã©ãŒã§å®è¡ãããªãã§ãã£ããããŠã§ãã¢ããªã±ãŒã·ã§ã³ã«ã¢ã¯ã»ã¹ãããåããªããšããã±ãŒã¹ããããŸãã
ãã®ãã©ãã«ã¯GASåŽã®åé¡ã§ã¯ãªããå©çšè ãChromeã«è€æ°ã®ã¢ã«ãŠã³ãã§ãã°ã€ã³ããŠãç¶æ ã§ããŠãŒã¶åãæ¿ããããŸããããã«çºçããŠããçŸè±¡ã§ããã©ããGASã¯Cookieã®ãã°ã€ã³å¶åŸ¡ãããŸãåããªãããã§ãã®ã§ä»¥äžã®è§£æ±ºçãå®è¡ããŸãã
- ïŒã€ã®ãããã¡ã€ã«ã§è€æ°ãã°ã€ã³ãããïŒã¢ã«ãŠã³ãïŒãããã¡ã€ã«ã§ãŠãŒã¶åãæ¿ããããŠãããããã«ãã
- äžæŠå šéšã®ã¢ã«ãŠã³ãããã°ã¢ãŠãããŠãGASã§å©çšããã¢ã«ãŠã³ãã®ã¿ã§ãã°ã€ã³ããŠå©çšããŠããã
ããªã¬ãŒã«ãŸã€ãããã©ãã«
ã¹ã¯ãªããããªã¬ãŒã¯æ¥åèªååã«ãšã£ãŠå€§å€äŸ¿å©ã§åªããæ©èœãªã®ã§ãããã¡ãã£ãšå°ã£ãåé¡ããããŸãã
- ããªã¬ãŒã¯èšçœ®ããæ¬äººããèŠããªãããåé€ã§ããªãïŒåŸè¿°ã®åŒãç¶ãåé¡ã«ãã€ãªããïŒ
- GUIã§ã»ããããããªã¬ãŒã¯æé垯æå®ã«ãªãã®ã§æ£ç¢ºãªæå»ã«çºç«ãããããšãåºæ¥ãªã
åŸè ã¯ããªã¬ãŒèšçœ®èªäœãã¹ã¯ãªããã§è¡ãããããšã§æ£ç¢ºãªæå»ã«çºç«ãããããšãå¯èœãšããã°å¯èœã§ãããå¿ ããããºã¬ãªãå®è¡ãããããšãä¿èšŒããŠããªãã®ã§ãããã¯çæããå¿ èŠããããŸãã
ãŸããGASã®ã¿ã€ã ãŸãŒã³ããã¥ãŒãšãŒã¯ã«ãªã£ãŠããŠå®è¡æå»ããºã¬ãŠããšããã±ãŒã¹ããããŸããéçºç»é¢ããã¿ã€ã ãŸãŒã³ããã¡ããšæ±äº¬ã«ãªã£ãŠããã©ããã確èªããŸãããã
Google Apps Scriptã§ããªã¬ãŒã掻çšããããGASã
äœã蟌ã¿éãã«æ³šæ
GASã¯Excel VBAã®ãããªããžã·ã§ã³ã§ãããªããããŠã§ãã¢ããªãŸã§äœæã§ããããããªã¬ãŒã§èªåå®è¡ãŸã§åºæ¥ãçºãåäžã®ç®çã§ãããªãã°å€éšãµãŒãã¹ã«ãéãåºããããèªåã§çšæããŠããŸã£ãã»ããã³ã¹ãé¢ã§å§åçã«åªããŠãã±ãŒã¹ããããŸãã
ããããè€æ°åã§ã®å ±åéçºã«ããŸãåããŠããªãç¹ããéçºç»é¢ããã®ãããªã¹ã¿ã€ã«ãªã®ã§å šäœã®èŠéããè¯ããªããå人éçºãªã®ã§äžæãããšä»æ§æžããªã«ãç¡ããšããããšãããã®ã§ãããŸãã¢ã¬ãã³ã¬ããšæ©èœãå¢ãããŠå¢åŒ·ããŠãã£ãŠããŸããšåŒãç¶ããçºçããå Žåã«å°é£ãåŸ ã¡åããŠãã±ãŒã¹ããããŸããïŒããã¯VBAã§ãèµ·ããåŸãããšïŒ
Togetterã«ãããã«é¢ãããããªäºäŸãæ²ç€ºãããŠãããããŸããå±äººåããããã®ã§æ¢ãŸã£ãŠå°ããããªã·ã¹ãã ã¯æ ã·ã¹ãç©æ¥µçã«å·»ãåã£ãŠç®¡çãããŠãããå¿ èŠæ§ããããŸãã
- ãExcelã§ãã人ãèŸããŠããŸã£ãã®ã§æäœæ¥ã§ãâãExcelã§ãã人ãå ¥ç€ŸãèªååãâãåŠå®ãããŠExcelã§ãã人éè·ãç¡éã«ãŒããã®å°çã®æµãããŸãã«ãã¡ãããã
- 顧客ãé·å¹ŽïŒäººã§ç€Ÿå ã·ã¹ãã ãéçºããŠãã瀟å¡ãéè·ããæ°èŠã®ã·ã¹ãã ã«å·æ°ãããã®ã§èŠç©ãããäºç®ã¯5åäžãâãã®çµæãããªã£ã
- éè·ãã瀟å¡ã®Excelã®è§£æçžè«ããèŠç©ãããåºããããé«ããä»ãåœããããšãªã£ãäŒæ¥ãåºæ»ã£ãŠãã話
å€éšå ¬éæã«äºæããªãé¢æ°ãå®è¡ãããå¯èœæ§
Google Apps Scriptã®ãŠã§ãã¢ããªã±ãŒã·ã§ã³ã§ã¯google.script.runã§GASåŽã®é¢æ°ãåŒã³åºããŠå®è¡ããããšãå¯èœã§ããããããããåå ã§ã»ã³ã·ãã£ããªæ å ±ãæŒæŽ©ããå¯èœæ§ããããŸãã
- ãŠã§ãã¢ããªã®ã¿å ¬éã§ã¹ãã¬ããã·ãŒãã¯èª°ãšãå ±æããŠããªã
- ã¹ã¯ãªããããããã£ãªã©ã«Access Tokenãã»ã³ã·ãã£ããªæ å ±ãæ ŒçŽããŠå€éšAPIãªã©ããªã¯ãšã¹ãããŠãããã
- ãã®å€ãåãåºãããã®é¢æ°ãçšæãããŠããïŒããããã€ã³ãã§ãïŒ
- ããå©çšè ããã®é¢æ°ã®ååšããã£ãŠãå ŽåãChromeã®ããããããŒããŒã«ã§ãŠã§ãã¢ããªãçŽæ¥æžãæããŠå®è¡ããåãåºããŠããŸãå¯èœæ§ããã
察çã¯åãåºãããã®é¢æ°ãWebåŽããã¯å®è¡ãããããªãé¢æ°ã¯ããã©ã€ããŒãé¢æ°ïŒé¢æ°ã®å é ã«ã¢ã³ããŒããŒãã€ããé¢æ°ïŒãã«ããŠããå¿ èŠæ§ããããŸãããã®å ŽåGASã®å éšããã¯å®è¡ã§ããWebåŽããã¯åŒã³åºããªããªããŸãã
Google Apps Scriptã®é¢æ°ã¯èª°ã§ãå®è¡ã§ãã¡ããã®ã§æ³šæãGASã
å®è¡æã®ã¢ã¯ã»ã¹æš©éã«ã€ããŠ
çµæ§ãããã¡ãªã®ã§ãããéçºããŠãèªåã¯ããããªã³ãŒããåãã®ã«ã第äžè ã«æž¡ããŠå®è¡ããŠããã£ããåããªããšãã£ãã±ãŒã¹ããããŸããã®çç±ã¯æ®ã©ãã¢ã¯ã»ã¹æš©éã«ãããã®ã§ãã
- ãã¡ã€ã«æäœã«æŒããŠèªåã¯ãã¡ã€ã«ãžã®ã¢ã¯ã»ã¹æš©éãããã®ã§åãããæž¡ããçžæã¯ã¢ã¯ã»ã¹æš©éãäžããããŠããªã
- èªèº«ã¯Google Workspaceã®ç¹æš©ç®¡çè ãªã®ã§ç®¡ççšAPIãå®è¡ããããšãåºæ¥ãããæž¡ããçžæã¯ç®¡çããŒã«ããªãã®ã§å®è¡ã§ããªãïŒAdmin SDKãªã©ã代衚äŸïŒ
- èªèº«ã®GCPç°å¢ãšã¢ã¯ã»ã¹æš©éã¯æã£ãŠããããçžæã¯ãã®ç°å¢ãžã®ã¢ã¯ã»ã¹æš©éããªãã®ã§APIãå®è¡ã§ããªã
èªåã§ã¯æ°ãä»ãã«ãããåµãŸããã€ã³ãã«ãªã£ãŠããŸãã
äžæ¹ã§ãŠã§ãã¢ããªã®å Žåèªåèªèº«ã®æš©éã§åããå Žåãç¹æš©ç®¡çè ã®APIã§ãã£ãŠãèªåããã®æš©éãæã£ãŠããã°åããããšãå¯èœã§ãïŒä»£çã§å®è¡ããŠãã ããªã®ã§ïŒãæ ã«ãŠã§ãã¢ããªã®å Žåã«ã¯ã¢ã¯ã»ã¹æš©éãã©ãããã®ãïŒãããèããŠãããã€ããå¿ èŠããããŸãã
Google Apps Scriptã®Admin SDKã§ãŠãŒã¶äœæãã©ãŒã ãäœããGASã
ãœãŒã¹ã³ãŒãã®å€éšä¿å®
GASã¯ãã®éçºç»é¢ã§éåžžã¯éçºããããšã«ãªãããããœãŒã¹ã³ãŒããšãã®ããã¯ã¢ããã第äžè ãšå ±æãããå Žåã©ãããïŒãšãã£ãåé¡ããããŸãããããã以äžã®ææ³ã§ã³ãŒãã®ããã¯ã¢ãããä¿å®ç®¡çãè¡ãããšãå¯èœã§ããäœããGoogle Apps Script APIããªã³ã«ããŠããå¿ èŠããããŸãã
- claspãå©çšããŠããŒã«ã«ã§éçºããŠãGASåŽãžpush / pullããããšãå¯èœïŒäœãéçºèšèªãTypeScriptã«ãªã£ã¡ããïŒ
- Google Apps Script Github Assistantãå°å ¥ããããšã§ãã®éçºç»é¢ããGithubã«å¯ŸããŠpush / pullãªã©ãæäœã§ããããã«ãªã
ãããããéçºããã®ã«éçºç°å¢ãå¥éçšæããããGithubãNode.jsã«é¢ããç¥èãèŠæ±ãããªã©ããŒãã«ãäžæ°ã«ããããããå人çã«ã¯æ®æ®µã®éçºã§ã¯ãªã¹ã¹ã¡ãã¥ããã
ãGASãGoogle Apps Scriptã§ã³ãŒããããã¯ã¢ããã»é éæŽæ°ãã
Google Apps ScriptãããŒã«ã«PCã§éçºããæ¹æ³ãGASã
Google Apps Scriptã®ã³ãŒããGitHubã§ç®¡çããæ¡åŒµæ©èœãGASã
å人ã¢ã«ãŠã³ãã§éçšããªã
GASã®éçºã«æŒããŠãšã£ãŠãéèŠãªèŠçŽ ãªã®ã ããã©èŠéããããã¡ãªã®ããå人ã®ã¢ã«ãŠã³ãã§éçºããŠç€Ÿå ã§éçšããŠãããšããã±ãŒã¹ããã€ã¯ããçµæ§ãªãªã¹ã¯ããããäž»ã«æ åœè ãç°åãéè·ã§ã¢ã«ãŠã³ããæ¶ãããå Žåã«çºçããŸãã
- å人ã®ãã€ãã©ã€ãå ã§éçºããå ±æãããŠãå Žåãã¢ã«ãŠã³ãåé€ãšãšãã«ãã¡ã€ã«ããšæ¶ããŸãïŒå ±æãã©ã€ãã«é 眮ããããšã§åé¿åºæ¥ãïŒ
- ããªã¬ãŒãªã©ãèšçœ®ããŠãå Žåãèšçœ®è æ¬äººããèŠããªã/åé€ã§ããªãã®ã§ã延ã ãšåãç¶ããããŸãã¢ã«ãŠã³ããåé€ãããšåæ¢ããŠããŸãã
- ãŠã§ãã¢ããªããããã€ããŠãå Žåãã¢ã«ãŠã³ããåé€ããããšãŠã§ãã¢ããªãæ¶ããã
- å éšç°åã§å¯Ÿè±¡ã®ãã¡ã€ã«ã«å æ åœè ãã¢ã¯ã»ã¹ã§ããªããªããåŒãç¶ãè ã®ã¢ã«ãŠã³ãã§ãŠã§ãã¢ããªãåãããã€ããå¿ èŠæ§ãããã
æ ã«ããããåé¿ããçºã«ã¯ã瀟å ã§åºãå©çšãããããªã¢ããªã®å Žåã«ã¯ãç¹æš©ç®¡çè ã®ã¢ã«ãŠã³ãå ã§ç®¡çãããïŒå°çšã®ã¢ã«ãŠã³ããçšæããŠãã¡ãã§ãããã€ã管çãããããã«ããå¿ èŠããããŸããããªã¬ãŒèšçœ®ããŠã§ãã¢ããªã®ãããã€ãå°çšã¢ã«ãŠã³ãã§ããã°éè·ãç°åã§æ¶ããããšããªããåŒãç¶ãè ã¯ãã®ã¢ã«ãŠã³ãã§å ¥ãã°äœæ¥ãç¶ç¶ã§ããã®ã§å®å¿ã§ãã
é¢é£ãªã³ã¯
- Google ãµãŒãã¹ã®å²ãåœãŠ
- VBAã§ã¯ã2025幎ã®åŽãã«åžã蟌ãŸããããïŒïŒ
- GASã§onEditããšã©ãŒã«ãªã
- GASã®UrlfetchAppã®HTTPãªã¯ãšã¹ãã®å¶éäºé (URLé·ããªã¯ãšã¹ãæ°ã®äžé)
- ä¹ ãã¶ãã«Google Apps Scriptã䜿ã£ãŠæããä»ã®JavaScriptéçºãšã®éã