Google Apps Scriptã§äœ¿ãæ å ±ã¯ããããã£ãå©çšããããGASã
ããã°ã©ã ãéçºããŠãããšãäžæçãªæ å ±ãããã¯æä¹ çãªæ å ±ãçšããŠæ§ã ãªåŠçã®åå²ãããã©ã¡ãŒã¿ãçšããŠåŠçãç¶è¡ãããšãã£ãåŠçãåºãŠããŸããäŸãã°ããŠãŒã¶æ¯ã«ãèªèšŒãå®è¡ããçµæåŸããAccess Tokenãæ ŒçŽããŠãããã§ãã£ããããŠãŒã¶ã®æ°åãå人æ å ±ãããã°ã©ã ã§äœ¿ãåºå®çãªå€ïŒæœèšåãªã¹ããªã©ãæ ŒçŽããã¹ãã¬ããã·ãŒãã®IDãªã©ïŒãªã©ãªã©ã
ãããã®æ å ±ãã¹ã¯ãªããå ã«çŽæžãã ãšã»ãã¥ãªãã£çã«ãŸããã£ããããŸã倿Žãçããå Žåã«ã¹ã¯ãªãããæžãçŽãå¿ èŠããã£ãããããšãã£ãŠã¹ãã¬ããã·ãŒãã®ã»ã«ã«ä¿åãšããã®ã¯ããŸãã«ãéããšããããšã§ãã䜿ãã®ãããããã£ãµãŒãã¹ãå°å³ãªæ©èœãªã®ã§ããããã®ããããã£ã䜿ãäºã§ãããã°ã©ã ã®ã¡ã³ããã³ã¹æ§ãã»ãã¥ãªãã£åäžãªã©æ§ã ãªå¹çšããããããŠãããŸããä»åã¯ãã®ããããã£ãµãŒãã¹ãèŠãŠãããããšæããŸãã
ç®æ¬¡
ä»å䜿çšããã¹ãã¬ããã·ãŒã
ããããã£ãµãŒãã¹ã«ã€ããŠ
æŠèŠ
ããããã£ãµãŒãã¹ãšã¯ããã¡ã€ã«ãããã¯ãŠãŒã¶åäœãªã©ã§ããã°ã©ã å ã§å©çšãããå€ããªã©ãæ ŒçŽããŠããä¿ç®¡å Žæã§ãããã®å€ãæ§ã ãªå€ãæ ŒçŽããäºãå¯èœã§ã以äžã®ç¹åŸŽããããŸãã
- ãããžã§ã¯ãå ã§ããã°ã°ããŒãã«ã«èªã¿æžããå¯èœã§ããã
- å€ã¯çŽ ã®æååã ãã§ãªããJSON圢åŒã§ãä¿åããäºãå¯èœã§ãã
- ã¹ã¯ãªããããããã£ãšãã圢åŒã®å Žåãã¹ã¯ãªãããšãã£ã¿ããç·šéãå¯èœã«ãªã£ãŠããã
- ãŠãŒã¶ããããã£ãªã©ã¯ã¹ã¯ãªãããšãã£ã¿ããã®ç·šéã¯åºæ¥ããã®ã®äœ¿ããŸãããIssue Trackerã«ãæ®ã£ããŸãŸæŸçœ®ãããŠããã°ã®ããã§ãããŸãä»ã®ãŠãŒã¶ããã¯èŠããªãã
- GASãããŠãŒã¶ããããã£ãæäœããããšã¯å¯èœãLocalStorageã®ãããªæ±ããã§ãããã©ãŠã¶ã«ä¿åãããŠããããããªãã
- ããŒåãšå€ãšãããã¢ã§ä¿åãããŠãã
- ãããžã§ã¯ãããŸããã§å©çšãããå Žåã¯ã©ã€ãã©ãªåããå¿ èŠãããã
- æ°å€ãä¿åãããšãæŽæ°ã§ãã£ãŠãäŸãã°1.0ãšãã£ãããã«å°æ°ç¹ãä»ããããã©æååãšããŠä¿åãããã
- äœãååŸæã¯æååãšããŠæ±ãããã®ã§ãèšç®æã¯Number()ãªã©ã§å倿ããŠãããªããšãããã
- G Suite BasicãBusinessã§ã¯ïŒæ¥ã«èªã¿æžãã§ããäžéã¯500,000åã
- G Suite BasicãBusinessã§ã¯ãä¿ååºæ¥ãæåã®ãµã€ãºã¯ã1ã€ã®å€ã«ã€ã9KBãŸã§
- G Suite BasicãBusinessã§ã¯ããã®ãããžã§ã¯ãå ã«ä¿åã§ããããããã£ã®åèšå€äžéã¯ã500KBãŸã§
- JSONã¯å厩ãããã«ä¿åã§ããŸãããé åããŒã¿ãªã©ã¯å厩ããããããŸãã1ããããã£ã«è€æ°å€çã蟌ã¿ããå Žåã«ã¯ãJSONã«ããŠæ ŒçŽããŸãããã
- HTMLåŽã§ã䜿ãããå Žåã¯ãGASåŽã§åŒã³åºããå€ãreturnããããã«é¢æ°ãçšæããå¿ èŠãããã
- Nullå€ã¯ä¿åã§ããªããã»ããããŠãæ¶ããŠããŸãã
- ã¹ã¯ãªããããä¿åããå Žåã該åœã®ããŒåãååšããªãå Žåèªåçã«äœæãããŠä¿åãããã
- ååšããªãå€ãååŸããããšãããšãnullãè¿ã£ãŠãã
- 倿°ã§ã¯ãªãã®ã§ãããã°ã©ã ãçµäºããŠãæ¶ããªãããªã®ã§ã6åã®å£ãè¶ ãããã¯ããã¯ãªã©ã§äœ¿ããã
- ã¹ã¯ãªããããªã¬ãŒãªã©ã«æŒããŠã誰ããã»ããããããã©ã°ãšããŠã¹ã¯ãªããããããã£ã«ä¿åããäºéèšçœ®é²æ¢ãªã©ã®ãã¯ããã¯ã«ãå©çšã§ããã
- ã¬ã³ãŒãç»é²æã®é£çªãåãæã«ãuidãšããããããã£ãçšæããŠã1ãã€è¶³ããŠãããšããäœ¿ãæ¹ã¯ãããããŸããæä»å¶åŸ¡ã¯å¿ é ã§ãã
- ãã¡ã€ã«ãã³ããŒãããšãã³ããŒãããã¡ã€ã«ã«ã¯å ã®ãã¡ã€ã«ã«ãã£ãããããã£å€ã¯ãããŸããã空ã®ç¶æ ã§ãã
ãšãªã£ãŠããŸããVBAã§èšããšããã®iniãã¡ã€ã«èªã¿æžããã¬ãžã¹ããªèªã¿æžãã.NETã§ãããšããã®appconfigã®ãããªãã®ã ãšæãã°OKã ãšæããŸãããã ã容éã«å¶éãããã®ã§æ³šæãç¹ã«ãŠãŒã¶ããããã£ã¯å©çšããŠãG Suiteã®ãŠãŒã¶æ°ãå€ããšå Žåã«ãã£ãŠã¯äžéå€ã«å°éãããããªããŸãã
ããããã£ãµãŒãã¹ã®çš®é¡
ããããã£ãµãŒãã¹ã¯3çš®é¡ã®ããããã£ãµãŒãã¹ã§æ§æãããŠããŸããã¹ã¯ãªããããããã£ãããã¥ã¡ã³ãããããã£ããŠãŒã¶ããããã£ã®ïŒã€ã§ãã
ããããã«ç¹åŸŽããã
- ã¹ã¯ãªããããããã£ã¯ãã®ãããžã§ã¯ãå ããèªç±ã«ã¢ã¯ã»ã¹ã§ããæš©éãããã°èª°ã§ãèŠãããšãå¯èœ
- ãŠãŒã¶ããããã£ã¯ãã®ãŠãŒã¶ã ããé²èЧã§ãç·šéãå¯èœã§ããããŸããã®ãããžã§ã¯ãå ã§ã ãæå¹ã
- ããã¥ã¡ã³ãããããã£ã¯ã¹ã¯ãªãããšãã£ã¿äžããã¯äžåèŠããªããäœããå šå¡ãã¢ã¯ã»ã¹å¯èœã§ãããããã¥ã¡ã³ãå ±éãäœãããããžã§ã¯ããè·šãã§åç §ã¯åºæ¥ãªãã
æ®éã¯1.ããã³2.ãå©çšããäºã«ãªãããšæããŸããããã¥ã¡ã³ãããããã£ã¯ã¢ããªã³ãªã©ã®åœ¢åŒã§äœ¿ãå Žåã«äœ¿ããã®ã§ãã¢ããªã³ã§ãããããããããªããã¥ã¡ã³ããèŠãæã«ãããã®ããã¥ã¡ã³ãã«ãã€ã³ããããŠãããããã£ã¯ââããšãã£ãå ·åã«äœ¿ãã·ãŒã³ã§ãé垞䜿ããŸããã
ã§ãã®ã§ãã¹ã¯ãªããããããã£ãå šãŠãŒã¶å ±éã®èšå®é ç®ããŠãŒã¶ããããã£ããŠãŒã¶åäœã®èšå®é ç®ãšèŠããŠäœ¿ãåãããããšè¯ãã§ãããã
ã¹ã¯ãªããããããã£ãç·šé
äžçªããå©çšããã¹ã¯ãªããããããã£ã ãã¯ãå šå¡ãã¹ã¯ãªãããšãã£ã¿äžããç·šéããäºãå¯èœã§ãïŒãŠãŒã¶ããããã£ã¯åå人ã ãïŒããã éåžžã¯ããŸãã¹ã¯ãªãããšãã£ã¿äžããç·šéäœæ¥ã¯è¡ããŸãããã¹ã¯ãªããããèªã¿æžããè¡ããŸãããŸããã¹ã¯ãªããããããã£ã¯ãã®æ§è³ªäžã¹ã¯ãªããç·šéãåºæ¥ã人éã§ããã°ããã®å 容ãç·šéã§ããŠããŸãã®ã§ãã»ã³ã·ãã£ããªæ å ±ãæ ŒçŽããå ŽåïŒããšããã¯ã©ã€ã¢ã³ãIDãã¯ã©ã€ã¢ã³ãã·ãŒã¯ã¬ããïŒãã¹ãã¬ããã·ãŒãã®ç·šéæš©éã¯ãªãŒããŒã®ã¿ãšããããã°ã©ã ïŒHTML Serviceãã䜿ãããïŒã®å®è¡æš©éããªãŒããŒãšãããšé èœãå¯èœã§ãã
- ã¹ã¯ãªãããšãã£ã¿ãéã
- ãã¡ã€ã«âãããžã§ã¯ãã®ããããã£ãéã
- ã¹ã¯ãªããããããã£ã¿ããéã
- è¡ã远å ãã¯ãªãã¯
- ããŒåãšå€ãå ¥ããŠä¿åãããšã¹ãã¢ãããã
- åé€ãã¯ãªãã¯ããã°åé€ããããšãå¯èœ
å³ïŒãããªæãã§tomatoãšããããŒã«0ãšããå€ãä¿åããŠã¿ã
䜿ã£ãŠã¿ã
ã¹ã¯ãªããããããã£
ãã®ãããžã§ã¯ãå ±éã§å©çšããå€ãæ ŒçŽããŸãã以äžã®ãããªæ§æã«ãªããŸããå šãŠãŒã¶ãå ±éããŠèªã¿æžããå¯èœã§ãã
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
//ã¹ã¯ãªããããããã£ãä¿åãã function setscprop(){ //ããã³ãã衚瀺 var ui = SpreadsheetApp.getUi(); var prompt = ui.prompt("å€ãæ ŒçŽ") var res = prompt.getResponseText(); //ã¹ã¯ãªããããããã£ã«ä¿åãã var prop = PropertiesService.getScriptProperties(); prop.setProperty("value", res); //ã¡ãã»ãŒãžãè¿ã ui.alert(res + "ãã¹ã¯ãªããããããã£ã«ä¿åãããŸããã"); } //ã¹ã¯ãªããããããã£ãåŒã³åºã function getscprop(){ //UIãååŸ var ui = SpreadsheetApp.getUi(); //ã¹ã¯ãªããããããã£ã®å€ãååŸ var prop = PropertiesService.getScriptProperties(); var res = prop.getProperty("value"); //ã¡ãã»ãŒãžãè¿ã ui.alert("ã¹ã¯ãªããããããã£ã«ä¿åãããŠãå€ã¯" + res + "ã§ã"); } |
- ã¹ã¯ãªããããããã£ãªã®ã§ãPropertiesService.getScriptPropertiesãå©çšããŸãã
- getProperty(ããŒå)ã§å€ãååŸåºæ¥ãŸãã
- setProperty(ããŒå,å€)ã§å€ãã»ããã§ããŸãã
- ãµã³ãã«ã³ãŒãã§ã¯ãvalueãšããããŒã«ui.promptã®å€ãæ ŒçŽããŠããŸãã
ãŠãŒã¶ããããã£
ãã®ãããžã§ã¯ãå ã«æŒããåãŠãŒã¶ã ããèªã¿æžãã§ããããããã£ã§ãããŠãŒã¶åºæã®ä»ã®èª°ã«ãé²èЧäžå¯ãªããŒã¿é¡ãæ ŒçŽããæã«å©çšããŸãã
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
//ãŠãŒã¶ããããã£ãä¿åãã function setusrprop(){ //ããã³ãã衚瀺 var ui = SpreadsheetApp.getUi(); var prompt = ui.prompt("å€ãæ ŒçŽ") var res = prompt.getResponseText(); //ã¹ã¯ãªããããããã£ã«ä¿åãã var prop = PropertiesService.getUserProperties(); prop.setProperty("value", res); //ã¡ãã»ãŒãžãè¿ã ui.alert(res + "ããŠãŒã¶ããããã£ã«ä¿åãããŸããã"); } //ãŠãŒã¶ããããã£ãååŸãã function getusrprop(){ //UIãååŸ var ui = SpreadsheetApp.getUi(); //ã¹ã¯ãªããããããã£ã®å€ãååŸ var prop = PropertiesService.getUserProperties(); var res = prop.getProperty("value"); //ã¡ãã»ãŒãžãè¿ã ui.alert("ã¹ã¯ãªããããããã£ã«ä¿åãããŠãå€ã¯" + res + "ã§ã"); } |
- ãŠãŒã¶ããããã£ãªã®ã§ãPropertiesService.getUserPropertiesã䜿çšããŸãã
- getãšsetã¯ã¹ã¯ãªããããããã£ãšå šãåãã§ãã
- 以åã®ãŠãŒã¶ããããã£ã¯ãåãããžã§ã¯ãåäœã§ã¯ãªãå šãããžã§ã¯ãå ±éã§ããããçŸåšã¯ä»ã®ãããžã§ã¯ãããä»ã®ãããžã§ã¯ãã®ãŠãŒã¶ããããã£ã¯çŽæ¥åç §ã§ããŸããã
- ãã ããGASã§ãŠãŒã¶ããããã£ãã»ãããããšããããžã§ã¯ãã®ããããã£äžã§æåã§ã»ããããæãšéããèŠããŸããã»ã»ã»ããåµãŸããã€ã³ãã§ããã§ããã確å®ã«ã»ãããããŠããã®ã§ãå¿ èŠã«å¿ããŠæ¬¡é ã®ããããã£ãåé€ãããè£ åãã¹ãã§ãããã
ããããã£ãåé€ãã
ããããã£ã®åé€ã¯éåžžã«åçŽã§ãã以äžã®ã¡ãœããã§åé€ããã ãã§ãã
1 2 3 4 5 6 7 |
//ãã¹ãŠã®ããããã£ãåé€ var prop = PropertiesService.getUserProperties(); prop.deleteAllProperties(); //ç¹å®ã®ããããã£ãåé€ãã var prop = PropertiesService.getUserProperties(); prop.deleteProperty('value'); |
ããªãããŒãªãã¯ããã¯
ã©ã€ãã©ãªåããŠè€æ°ãããžã§ã¯ãå ã§åäžããããã£ãå ±æ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
//ããããã£ãååŸãã function getProp(value) { var Properties = PropertiesService.getScriptProperties(); var temp = Properties.getProperty(value); return temp; } //ããããã£ãã»ãããã function setProp(key,value){ var Properties = PropertiesService.getScriptProperties(); Properties.setProperty(key,value); } |
åŒã³åºãåŽã¯ãã©ã€ãã©ãªç»é²ãèå¥åãå ãïŒlibraryãšåä»ãããšããïŒãäŸãã°library.getPropã§ããããã£ãååŸããŸããlibrary.setPropã§ããããã£ãä¿åããŸããåŒã³åºãåŽã§PropertiesServiceããã¡ãã¡èšè¿°ããå¿ èŠããªãã®ã§æ¥œã¡ãã§ããå ±éèšå®çšã®ãããžã§ã¯ããšããŠãããçä¿åãåŒã³åºãåŽã®ã©ã€ãã©ãªã«è¿œå ããŠãããŸãããã
ãã®ææ³ã䜿ããšã1ã€ã®ãããžã§ã¯ããçšæããŠã©ã€ãã©ãªåããŠãŒã¶ããããã£ã®èªã¿æžããå®è£ ããŠããã°ã1ç®æã§å šãããžã§ã¯ãå ±éã§äœ¿ãããŠãŒã¶èšå®ãå®çŸã§ããŸããäœãããã®å Žåå šãããžã§ã¯ãå ±éãªã®ã§ãAPI_KEYãªããŠèšå®ã«ããŠããŸããšãä»ã®API_KEYãšãã£ã¡ãã«ãªã£ãããåºå¥ãã€ããªããªã£ããããã®ã§ãããŒåã®ä»ãæ¹ã«æ³šæãå¿ èŠã§ãã
倧ããªãµã€ãºã®èšå®å€ãæ ŒçŽããã
å€§èŠæš¡ãªçµç¹ã§1åã®ãã¡ã€ã«ã«ã¹ã¯ãªããããããã£ã§ããããæ ŒçŽãããããŠãŒã¶ããããã£ãšã¯èšãçµæ§ãªéã®ããŒã¿ãèŠå®ã®æ å ±ãšããŠããŒãããŠããããå Žåã1ããŒã®äžé9KBãåèšå€ã®500KBã«å°éããŠãããããã£ãµãŒãã¹ã§ã¯ä¿åããããªãã±ãŒã¹ããããšæããŸãããã®å Žåãåœç¶æ å ±ãä¿åã§ããªãã®ã§ã以äžã®çãåãå¿ èŠããããŸãã
- å¥éããŒæ å ±æ ŒçŽçšã®ã¹ãã¬ããã·ãŒããçšæãä¿åãã
- Google Driveã«JSONãã¡ã€ã«ãšããŠããããã£ããŒã¿ã¯ä¿åãããŠãŒã¶ããããã£ã«ã¯ãã®ãã¡ã€ã«ã®IDã ããä¿åããŠããã
åè ã®å Žåããã®ãã¡ã€ã«ã®ã¢ã¯ã»ã¹æš©éã¯å šå¡ãèŠãããç¶æ ã«ããªããã°ãªããªãã®ã§ããŠãŒã¶ããããã£ä¿åãããã«ã¯é©ããŠããŸããããŸããå šãŠãŒã¶ã®ååäººã®æ å ±ãæ ŒçŽãããããè²ã ãšããžãã¯ãå¿ èŠã«ãªããŸãã
äžæ¹åŸè ã®å Žåããã®ãŠãŒã¶ã®ãã©ã€ãã«ãã®ãŠãŒã¶ã ããã¢ã¯ã»ã¹ã§ããæš©éã§åã£ãŠããã°è¯ãã ããªã®ã§ã倧容éã®ãŠãŒã¶ããããã£æ å ±ãä¿åããã®ã«é©ããŠããŸãããŸãJSONãªã®ã§æ§é åãããŠããŠã¢ã¯ã»ã¹ãããããšããå©ç¹ããããŸããåŸè ã®ã±ãŒã¹ãç ç©¶ããŠã¿ãŸããã
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
//JSONã§ãŠãŒã¶æ
å ±ãä¿åãã function setpropJson(){ //JSONãã¡ã€ã«ãååšããŠãããã©ãããç¢ºèª var prop = PropertiesService.getUserProperties(); var json = prop.getProperty("json"); var ui = SpreadsheetApp.getUi(); //jsonãã¡ã€ã«ã®IDãããå Žåã¯ãã®IDãå©çšãããªãå Žåã«ã¯ãšã©ãŒãè¿ã var jsonfile = ""; var jsondata = ""; var propdata = ""; if(json == null){ //ãã¡ã€ã«ããªãå Žå //ãã¡ã€ã«åã¯ã¹ã¯ãªããID+ã¡ã¢ããšãã var filename = ScriptApp.getScriptId() + "_" + GetUser() + ".json"; //JSONããŒã¿ãçæ var jsondata = {}; jsondata.user = Utilities.formatDate(new Date(), "JST","yyyy/MM/dd HH:mm:ss"); jsondata = JSON.stringify(jsondata); //ã«ãŒããã£ã¬ã¯ããªçŽäžã«ãã¡ã€ã«ãçæ var fileID = DriveApp.createFile(filename,jsondata,MimeType.PLAIN_TEXT).getId(); //fileIDãã¹ã¯ãªããããããã£ã«æ ŒçŽãã prop.setProperty("json", fileID); ui.alert("JSONãã¡ã€ã«ã«ãŠãŒã¶ããããã£æ
å ±ãæ ŒçŽããŸããã") }else{ jsonfile = json; //IDãå
ã«JSONããŒã¿ãååŸãã jsondata = DriveApp.getFileById(jsonfile).getBlob().getDataAsString('utf8'); propdata = JSON.parse(jsondata); //useræ
å ±ãæžãæããïŒä»åã¯æ¥ä»æ
å ±ãå
¥åïŒ propdata.user = Utilities.formatDate(new Date(), "JST","yyyy/MM/dd HH:mm:ss"); //propdataãå
ã®ãã¡ã€ã«ã«äžæžããã DriveApp.getFileById(jsonfile).setContent(JSON.stringify(propdata)); //ã¡ãã»ãŒãžãè¿ã ui.alert("ãŠãŒã¶æ
å ±ãæžã蟌ã¿ãŸãã"); } } //JSONã®ãŠãŒã¶æ
å ±ãååŸãã function getpropJson(){ //JSONãã¡ã€ã«ãååšããŠãããã©ãããç¢ºèª var prop = PropertiesService.getUserProperties(); var json = prop.getProperty("json"); var ui = SpreadsheetApp.getUi(); //jsonãã¡ã€ã«ã®IDãããå Žåã¯ãã®IDãå©çšãããªãå Žåã«ã¯ãšã©ãŒãè¿ã var jsonfile = ""; var jsondata = ""; var propdata = ""; if(json == null){ ui.alert("ããããã£æ
å ±ãèŠã€ãããŸããã§ãã") }else{ //IDãå
ã«JSONããŒã¿ãååŸãã jsonfile = json; jsondata = DriveApp.getFileById(jsonfile).getBlob().getDataAsString('utf8'); propdata = JSON.parse(jsondata); //jsonã®ãŠãŒã¶æ
å ±ã衚瀺ãã ui.alert(propdata.user); } } //ãŠãŒã¶ããããã£åé€ function deleteuserprop(){ var prop = PropertiesService.getUserProperties(); prop.deleteProperty('json'); SpreadsheetApp.getUi().alert("ãŠãŒã¶ããããã£æ
å ±ãåé€ããŸããã"); } //å®è¡è
ã®ã¡ãŒã«ã¢ãã¬ã¹ãååŸãã function GetUser() { var objUser = Session.getActiveUser(); return objUser.getEmail(); } |
- ä»åã¯æ¥ä»ããŒã¿ãæ ŒçŽããããã«ããŠã¿ãŸãããuserãšããããŒã«æ¥ä»ããŒã¿ãå ¥ããŠãããŸããsetpropJsonãå®è¡ããåºŠã«æ¥ä»ããŒã¿ãæžãæãããŸãã
- setpropJsonã§ã¯ãã¡ã€ã«ããªãå Žåã«ã¯ãJSONãã¡ã€ã«ãçæãããŠãŒã¶ããããã£ã«ã¯ãã®Fileã®IDãæ ŒçŽãããŸãã
- getpropJsonã¯ãããŒãããå Žåã«ã¯JSONãã¡ã€ã«ãããŒã¹ããŠuserããŒã®æ¥ä»æ å ±ãè¿ããŸããç¡ãå Žåã¯ãšã©ãŒãè¿ããŸãã
- ãã®ãã¡ã€ã«ã¯å®è¡ãŠãŒã¶ã ããèŠãããæš©éã«ããŠãããŸããããä»äººãšå ±çšããŠã¯ãªããŸããã
- æ°èŠäœæããããã¡ã€ã«ã¯ãã ã®ããã¹ããã¡ã€ã«ã§ãScriptIDãšãŠãŒã¶ã¡ã¢ããçµã¿åããããã¡ã€ã«åã«ãªã£ãŠããŸãã
- ãã¡ã€ã«ã¯Google Driveã®ã«ãŒãçŽäžã«çæãããŸãã
- ãã®ææ³ã®å Žåããã¡ã€ã«ãµã€ãºã®äžéã¯DriveAppã®æ±ããäžéã§ãã50MBãŸã§å¯Ÿå¿å¯èœã«ãªããŸãã
å³ïŒJSONãªã®ã§å€ãªããžãã¯ãäžèŠ
ãŠã§ãã¢ããªããå©çšããå Žå
çŽæ¥ã¹ãã¬ããã·ãŒãäžããã¹ã¯ãªããããããã£ã®æäœãããå Žåã¯ãå¿ ããŠãŒã¶æš©éã§å®è¡ãããŸãããã£ãŠãgetUserPropertiesã䜿ã£ãå ŽåãŠãŒã¶æ¯ã®ããããã£ã«å¯ŸããŠèªã¿æžããè¡ãããŸãã
ãããããŠã§ãã¢ããªã±ãŒã·ã§ã³ããå®è¡ããå Žåã¯ããŠã§ãã¢ããªã±ãŒã·ã§ã³ããããã€ããéã«æå®ãããæ¬¡ã®ãŠãŒã¶ãšããŠå®è¡ãã®ãŠãŒã¶æš©éã«ãŠåäœããããšã«ãªãããããŠã§ãã¢ããªã±ãŒã·ã§ã³ã«ã¢ã¯ã»ã¹ããŠããŠãŒã¶ã®å Žåã¯æåŸ éãã«åäœããŸããããŠã§ãã¢ããªäœæè ã®æš©éã§åäœããå Žåãäœæè ã®ããããã£ããã®èªã¿æžããšãªããããå®è³ªgetScriptPropertiesãšå€ãããªãåäœã«ãªã£ãŠããŸããŸãã
ãããããŠã§ãã¢ããªã¯äœæè æš©éã§åãããããããã©æåã¯ãŠãŒã¶æ¯ã«å€ãããå Žåã¯ããããã£ãå©çšããã®ã§ã¯ãªããWebã¢ããªåŽã§LocalStorageã䜿ã£ãŠå®è£ ããå¿ èŠãããã§ãããïŒãã®å ŽåãPCæ¯ã«ããŒã¿ãä¿åããããããChromeãå©çšããå Žåã¯ãããã¡ã€ã«ãšå ±ã«LocalStorage Syncãªã©ã®æ¡åŒµæ©èœã䜿ããšä»ã®PCããã®LocalStorageãå¥ã®PCãžåæåºæ¥ãŠæµçšå¯èœã§ãïŒã
以äžã¯æ€èšŒã§äœ¿ã£ãã³ãŒãã§ãã
GASåŽã³ãŒã
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
function doGet(){ var html = HtmlService.createHtmlOutputFromFile('index'); return html; } //ããããã£ãä¿åãã function setProp(value){ value = JSON.parse(value) var prop = PropertiesService.getUserProperties(); prop.setProperty("userinfo",value); return 0; } //ããããã£ãã²ãããã function getProp(){ var prop = PropertiesService.getUserProperties(); console.log(prop.getProperty("userinfo")) return prop.getProperty("userinfo") } |
HTMLåŽã³ãŒã
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<!DOCTYPE html> <html> <head> <base target="_top"> <script> function timeset(){ var time = new Date(); google.script.run.withSuccessHandler(onSuccess).setProp(JSON.stringify(time)); } function onSuccess(data){ alert("OK") } function gettime(){ google.script.run.withSuccessHandler(onSuccess2).getProp(); } function onSuccess2(data){ document.getElementById("time").innerHTML = data; } </script> </head> <body onload="gettime()"> <button onClick="timeset()">ã¯ãªãã¯</button> <div id="time"></div> </body> </html> |
é¢é£ãªã³ã¯
- Google Apps Scriptã®ããããã£ã§å®å šã«å€ã䜿ãïŒãŠãŒã¶ãŒããããã£ãšã¹ã¯ãªããããããã£
- ãåå¿è åãGASãããããã£ã¹ãã¢ã®æŠèŠãšã¹ã¯ãªããããããã£ã®ç·šéæ¹æ³
- GoogleAppsScript ã¹ã¯ãªããã®ããããã£ã®è¶ ç°¡åãªäœ¿ãæ¹
- GASã®PropertiesServiceã®ã¹ã³ãŒã
- GASã®PropertiesServiceã«æ°åãä¿åãããšæã£ããæååã«ãªã£ãŠã
- Google Apps Scriptã§èšå®ãã¡ã€ã«ã®ä¿åã»èªèŸŒ
- ãgasãdriveäžã®jsonãã¡ã€ã«ã«ã¢ã¯ã»ã¹
- JSONããŒã¿ãäœã£ãŠGoogleãã©ã€ãã«ä¿åãã