å·»ç©ãæ¢ã
11ä»¶ã®å·»ç©
GASãŠã§ãã¢ããªã®ç»é¢ãjsdomã§æ€èšŒãã â åäœãã¹ãã§ã¯åççã«èŠã€ãããªãç»é¢ãã°ãæãŸãã
GASã®ç»é¢JSã¯ãã©ãŠã¶ç¡ãã§ã¯æ€èšŒã§ãããåäœãã¹ãå špassã»APIæ£åžžã»ããŒã¿æ£åžžã®ãŸãŸäž»èŠå°ç·ãæ»ã¬ãIndex/Style/Scriptãé£çµããŠjsdomã§å®è¡ããå®ããŒã¿ãæµããŠèŠçŽ ã®æç¡ãšãã¿ã³ã®æŽ»æ§ãŸã§èªåå€å®ããããŒãã¹ã®äœãæ¹ã
GAS Webã¢ã㪠åå äžæã®å€±æ åãåããã§ãã¯ãªã¹ã
æåå®è¡ã¯æåããã®ã«Webã¢ããªçµç±ã ã倱æããGASã®è¬ãšã©ãŒãããµãŒããŒæé©åããå ã«å¥ç«¯æ«ãã¹ãâãã£ãã·ã¥ç¢ºèªã®é ã§åãåããæé
å ±æç«¯æ«ã¢ããªã®æ åœè å¥ç¶æ ãã°é²æ¢
GAS/Sheetsã§å ±æç«¯æ«ã¢ããªãäœãæãæ åœè åãäžæããŒã«å«ãå¿ããŠå šå¡ã®ç¶æ ãé£åããŠããŸããã°ã®åå ãšçŽãæ¹
ãããã€æŽæ°ã®ãçéããæ¬çªããŒã¿ãå£ã â æ°æ§ã®çãåæã«åãåæã§åªçæ§ãèšèšãã
ãµãŒãã¬ã¹/GAS Web App ã§ãããã€åæ¿ã¯å³æã§ãååçã§ããªããåæ¿ã®çéã§æ°æ§ã®çãæ··åšããæ§çã®æžãæ»ããæ°çã®ç§»è¡ããžãã¯ãç¡æ¡ä»¶å€æããŠããŒã¿ãå£ãåãšãåªçæ§ã®å®çŸ©æ¡åŒµã»ä¿®åŸ©é¢æ°ã»åãåãæé ã»read-backæ€èšŒãŸã§ããŸãšããã
ã¢ããªéçºã®äž»äœãå¥ã¢ã«ãŠã³ãã® Claude Code ãžç§»ç®¡ããïŒæš©éä»ãæ¿ãïŒå€æäŸé Œã®çµè·¯ã€ãïŒ
åŒãç¶ãæžã»GitHub/Drive æš©éä»äžã»å€æäŸé Œãããã³ã«ã»ã«ãããªãŒããŒæ¡ä»¶ã»éäžã§ç§»ç®¡å ãå€ããæé ã1ã»ãã·ã§ã³ã§å®äºãããåãçžæåŽã®äººã®æäœã¯èµ·åæ1åãš OAuth åæ1å
瀟å ã¢ããªã®å¿ é æ©èœããã«ãŒã«ææžã§ã¯ãªããããã€çŽåã® hook ã§åŒ·å¶ããïŒClaude CodeïŒ
ãå šã¢ããªã«ââãå ¥ããããææžã ãã§å®ãããªãåé¡ããæ¬çªåæ ã³ãã³ãçŽåã® PreToolUse hook ã§æªæèŒã»å°åž³æªç»é²ã deny ããŠæœ°ãåãé€å€ãã¡ã€ã«ã»fail-openã»å šPCé åžã»ãã¹ãäžèЧã€ã
ãããã€/UI倿Žãå¿ ã2段æ€èšŒããŠããå®äºå ±å
ã³ãŒãã»ãããã€ã»cronã»envã»UI倿ŽåŸã«ãããžãã¯å±€(NodeåçŸ)ãšãã©ãŠã¶å±€(Playwright)ã®2段ã§assertæ€èšŒããæ€èšŒæžã¿ã ããå®äºå ±åãããæé ããç»é¢ã§ç¢ºèªããŠãã®äžžæããçŠæ¢ã
äºçŽããŒã¿ãããäŸ¡æ Œãé«ãããã®ãããå€å®ããæé ïŒãªãŒãã¿ã€ã ã»ããŒã¹æ²ç·ïŒ
å ã®äºçŽãèãæã«æ¶æž¬ã§å€äžãããããªãŒãã¿ã€ã å¥ã®å®å¢å䟡ã»éå»ã®åãNæ¥åã®ããŒã¹ã»æç€ºäŸ¡æ Œã®å®è¡šç€ºãçªãåãããŠå€ããŠãã垯ã1ã€ã«çµãæé ãåšåº«ã®ç©Žã®èŠã€ãæ¹ã€ãã
æåããŠããã®ã«ãã¹ãããããšåºããã°ã®æœ°ãæ¹(ãã£ã¹ãããã£ã®æ»ãå€èŠçŽ)
ãã¿ã³äžèЧâã³ãã³ã颿°ããã£ã¹ãããããåã®ããŒã«ã§ãç¶æ ãã©ã°ãšæçްé åã«åãããŒåã䜿ããšç©ºé åãtruthyã§åžžã«æç«ããæåããŠããã¹ãããã衚瀺ã«ãªããåå ç¹å®ã®é åºã»ä¿®æ£ã»æèšãã®ãã®ããã¹ãããéè¡é²æ¢ãŸã§
offset ããŒãžã³ã°ã§å€éšAPIãèªããšãååŸäžã«äžèº«ãå€ãã£ãŠéãã«å£ãã
ã²ãŒããŠã§ã€ãæ¯åå šæãåãçŽã㊠offset ã§åãæ§æã¯ãååŸäžã«å ããŒã¿ãå€ãããšé£çµãå£ãããrawLength ã®äžè²«æ§æ€æ»ãšäžžããšåãçŽãã§çŽãæé ãšãå¯Ÿç §çŸ€ã§æ€å®ã§ãããã¹ãã®æžãæ¹ïŒtry ã®äžã§ assert ãæžããªãã»å é ãå ±éã® fixture ãé¿ããïŒãŸã§ã
ãååã§ãã©ã«ããæ¢ããŠç¡ããã°äœããåŠçãèªåã®éè€ãæŽã¿ç¶ããåé¡ã朰ã
èªååãä¿åãããã¡ã€ã«ãçŸå Žã®ãã©ã«ãã«å ¥ãããåãååã®ãã©ã«ãã2ã€ãããç¶æ ã«ãªããçå ã¯æ¢çŽ¢ã®æ·±ãã§ãèµ·ç¹ã§ããªãããããã§å³return ããé åºããåè£ãå šéšéããŠã¹ã³ã¢ã§éžã¶åœ¢ãžçŽãæé ãšãåçºãçžããã¹ãã®æžãæ¹ããŸãšããæç€ºæžã