å·»ç©ãæ¢ã
9ä»¶ã®å·»ç©
ã¹ãã¬ããã·ãŒããæ¥åUIã«ãã â ãã§ãŒãºæãããã¿ïŒ2çš®ãã§ãã¯ããã¯ã¹ã®ããã«
Google Sheets ãçŸå Žã®æäœç»é¢ã«ãã GAS èšèšãã³ãã¬ãå·¥çšããšã«è¡ã°ã«ãŒãã§ç³ã¿ãæŒããšèµ°ãâ¶ãšé²æãšããŠæ®ãâ ãåå± ããããå¯èŠåãšã¡ã¿æ å ±ã®è¡çªãç¡èšã§æšãŠãä¿å颿°ãéèšãå€ãå€ã§åºãŸãé åºãã¹ã6åå¶éãšã®æŠãæ¹ãŸã§ãå®è£ ã§å®éã«èžãã çœ ã察ç蟌ã¿ã§åé²ã
ã¹ãã¬ããã·ãŒããšGAS Web Appãç»é¢æäœãŒãã§äœæã»å ¬éããå€éšã¢ããªããHTTPã§1è¡upsertãã
clasp ã®ããŒã¯ã³ã ãã§ãã¹ãã¬ããã·ãŒãäœæâãã€ã³ãããã Apps Script äœæâã³ãŒãæå ¥âWeb App å ¬éãŸã§ REST ã§å®çµãããæé ãDBãå¥çŽãã0åã§ããã©ãŒã å ¥åâéç¥â衚ã«èç©âææ¬¡éèšããå®çŸããã人æã¯å®è¡æš©éã®æ¿èª1åã ããæªæ¿èªãšããªã·ãŒçŠæ¢ã®åãåããã·ãŒãäœæçŽåŸã®æªãã©ãã·ã¥ã§ååã ãå£ããçœ ãCSVãšã¯ã¹ããŒããread-backã«äœ¿ããªãçœ ãåãããã€ã§URLãšã·ãŒã¯ã¬ãããå€ããªãç¶æ ãã¡ã€ã«èšèšãåŸçä»ããŸã§å«ãæ€èšŒã¹ã¯ãªããã®åã宿ž¬ããŒã¹ã§åé²ã
æ°åŒãŸã¿ãã®æ¥åã¹ãã¬ããã·ãŒãããWebã¢ããªããå£ããã«ç·šéãããå
ArrayFormula ãš per-row æ°åŒãæ··åšããå°åž³ããã»ã«åäœ allowlistã»dry-run æ¢å®ã»é©çšåããã¯ã¢ããã»è§Šã£ãŠããªãã»ã«ã®æ°åŒäžå€æ€æ»ã§å®å šã«æžãæããèšèšæé ãåããšã®æ°åŒåŸ©å ãšããã¹ããç·ã®ãŸãŸå£ããå žåäŸã€ãã
æ¢åã®Googleãã©ãŒã ãžGASããèªåéä¿¡ããåçã·ãŒãã§read-backæ€èšŒãã
人ãæå ¥åããŠãããã©ãŒã ãæ¥åã·ã¹ãã ããèªåéä¿¡ããŠæäœæ¥ãæ¶ããentry IDã®åãåºããã¡ãŒã«å鿬ã®çœ ãåçã¿ãã¯gidã§ç¹å®ãgetLastRow()ãå®ããŒã¿ãè¶ ããçœ ãåæ 52ç§ã«èããéåæç¢ºèªãoff/test/liveã®3段ã²ãŒããŸã§ã
GAS+ã¹ãã¬ããã·ãŒãã§æ°å€ã»æ¥ä»ãéãã«å£ãã3ã€ã®çœ ãšåé¿ç
ã»ã«ã®è¡šç€ºåœ¢åŒãšã¿ã€ã ãŸãŒã³ã«èµ·å ããŠãäŸå€ãåºããã«ããŒã¿ãå£ãã3ãã¿ãŒã³(TZäžäžèŽ/æååã®æ¥ä»èªå倿/åæ¡åŒµæã®æžåŒåŒãç¶ã)ã®åé¿çãšä¿®åŸ©æé ãåäœãã¹ãã§ã¯æ€åºã§ããªãå±€ã®ãã°ãæ©æçºèŠããããã®3ååã€ãã
Google Drive ã®ãã©ã«ãæŽçãèªååãå£ããæš©éäºæ ãåºããã«ãã
æ£ããã£ã Drive ãçä»ããåã«ç¢ºèªãã¹ãããšããã©ã«ãç§»å㯠ID äžå€ãªã®ã§å®å šã ããå ±æãã©ã«ããžç§»ããšæš©éãé»ã£ãŠåºãããç°¡æAPIã¯æš©éãéå°å ±åããç¶æ¿æš©éã¯åãã©ã«ãããåé€ã§ããªããäºéåãèµ·ããååæ€çŽ¢ã®èŠåãæ¹ãšãæš©éåé€ã¹ã¯ãªããã®å®å 𿩿§ãåçºæºã®æœ°ãæ¹ãŸã§ã
æ¬çªã¹ãã¬ããã·ãŒãã«ãæ°ããã¬ã³ãŒãã®åãããã¯ããå®å šã«å¢ããå(GAS)
暪䞊ã³1ã¬ã³ãŒã=Nåã®ã·ãŒãã«ãæ¢åãããã¯ã®è€è£œã§æ°ããåãããã¯ãèªå远å ããåãæ°åŒã®çžå¯Ÿåç §è¿œåŸã»IMPORTRANGEã®çµ¶å¯ŸURLå·®ãæ¿ãã»æ¥ä»ã»ã«ã®read-backç §åã®çœ ã»æ¬çªæ€èšŒçšã®æ€å»ã³ãã³ããŸã§ã
倧ããGoogleã¹ãã¬ããã·ãŒããAIã«å šä»¶èªãŸããïŒèªç¶èšèªã®æžãåºãã¯é»ã£ãŠåãããïŒ
è¡æ°ã®å€ãã·ãŒãã¯ã³ãã¯ã¿ã®èªç¶èšèªæžãåºãã ãšéäžã§åããAIã¯æåãšå ±åãããxlsxãbase64ã§åãZIPãšããŠèªåã§éããŠå šä»¶åã蟌ãæé ãšãéšåäžèŽã®èª€ããããæ¢ããã¬ãŒããŸã§ã
google.script.run ã® null ã undefined ã«ãªãçœ â æ¬çªã ãåºã NaN 衚瀺ã®èªåæ€åº
GASãŠã§ãã¢ããªã§ãµãŒãåŽã® null ããã©ãŠã¶ã§ undefined ã«ãªãã=== null ã®åå²ãçŽ éãã㊠NaN ã衚瀺ããããåäœãã¹ãã§ãJSON fixtureã§ãåçŸããªãçç±ãšãnull ãèœãšãã fixture ã§æãçŽããŠèªåæ€åºããæ¹æ³ã