Slide 1

Slide 1 text

Google Apps ScriptͰ ࡾ೔๥ओΛࠀ෰͢Δ @tadaken3

Slide 2

Slide 2 text

ࣗݾ঺հ • λμέϯ(@tadaken3) • ژ౎ग़਎ • ෳۀɿ͍ͭ΋ྡʹITͷ͓࢓ࣄʢhttps://tonari-it.comʣ • झຯɿࣗసंɺےτϨ • ຊۀɿσʔλΞφϦετ

Slide 3

Slide 3 text

ےτϨͯ͠·͔͢ʁ

Slide 4

Slide 4 text

ےτϨ͍ͨ͠Ͱ͢ΑͶʁ

Slide 5

Slide 5 text

͔ͤͬ͘δϜ௨͍Λ࢝Ί͚ͨͲɺ • ࢓ࣄ͕๩ͯ͘͠ • ࠓ೔ɺӍ͔ͩΒ • ҿΈձʹ༠ΘΕͨ • ΍Δؾ͕ग़ͳ͍ ͋Δ͋Δ

Slide 6

Slide 6 text

Google Apps ScriptͰࡾ೔๥ओΛࠀ෰͢Δ ؍ଌ͑͞Ͱ͖Ε͹ׯবͰ͖Δɻ
 ׯবͰ͖ΔͳΒɺ੍ޚ΋Ͱ͖Δɻ

Slide 7

Slide 7 text

ᶃߦಈͷه࿥ ᶆૹ৴ࢦࣔ ᶅܭࢉ݁Ռͷ อଘ ᶄܦա೔਺ͷ ܭࢉ εϓϨουγʔτ εϚʔτϑΥϯ Google Apps ScriptͰࡾ೔๥ओΛࠀ෰͢Δ Google Apps Script LINE Notify API

Slide 8

Slide 8 text

Google Apps ScriptͰࡾ೔๥ओΛࠀ෰͢Δ IFTTTͰϘλϯΛ࡞Δ

Slide 9

Slide 9 text

Google Apps ScriptͰࡾ೔๥ओΛࠀ෰͢Δ εϓϨουγʔτʹه࿥

Slide 10

Slide 10 text

Google Apps ScriptͰࡾ೔๥ओΛࠀ෰͢Δ //IFTTTͷ೔෇ܗ͔ࣜΒ௨ৗͷ೔෇ʹม׵ function toDateFromIFTTT(str){ str = String(str); str = str.replace(/at.*/,"")//ਖ਼نදݱͰatΑΓޙΖͷ෦෼Λ࡟আ d = new Date(str); return d; } IFTTTͷ೔෇ܗࣜ(str)Λdateʹม׵

Slide 11

Slide 11 text

Google Apps ScriptͰࡾ೔๥ओΛࠀ෰͢Δ var ss = SpreadsheetApp.getActiveSpreadsheet(); //εϓϨουγʔτΛऔಘ var sheet = ss.getSheetByName("log"); //γʔτΛऔಘ //γʔτͷ࠷ऴߦʹܦա೔Λܭࢉ͢ΔࣜΛηοτ͢Δ function setFormuraLastRow(){ //γʔτͷ࢖༻ൣғͷ͏ͪ࠷ऴߦΛऔಘ var maxRow = sheet.getDataRange().getLastRow(); //Aྻͷ࠷ऴߦͷ஋Λऔಘ var str = sheet.getRange(maxRow,1).getValue(); //εϓϨουγʔτ༻ͷࣜ var code = '=TODAY() - TO_DATE(B'+ maxRow+')'; //ϑΥʔϚοτͨ͠೔෇Ληοτ sheet.getRange(maxRow,2).setValue(toDateFromIFTTT(str)); //ࣜΛηοτ͢Δ sheet.getRange(maxRow,3).setFormula(code); } ܦա೔਺Λܭࢉ͢Δ

Slide 12

Slide 12 text

Google Apps ScriptͰࡾ೔๥ओΛࠀ෰͢Δ ܦա೔਺͕ܭࢉͰ͖ͨ

Slide 13

Slide 13 text

Google Apps ScriptͰࡾ೔๥ओΛࠀ෰͢Δ //LINEʹ௨஌ΛૹΔؔ਺ function sentToLine(message){ var token = "ઌఔऔಘͨ͠ΞΫηετʔΫϯ"; var options = { "method" : "post", "payload" : "message=" + message, "headers" : {"Authorization" : "Bearer "+ token} }; UrlFetchApp.fetch("https://notify-api.line.me/api/notify",options); } LINE NotifyʹϝοηʔδΛૹΔ

Slide 14

Slide 14 text

Google Apps ScriptͰࡾ೔๥ओΛࠀ෰͢Δ function main(){ setFormuraLastRow() var maxRow = sheet.getDataRange().getLastRow(); var passDate = sheet.getRange(maxRow,3).getValue(); var message =""; //ܦա೔͕̏೔΋͘͠͸7೔Ҏ্ͩͬͨΒLINEʹ௨஌ΛૹΔ if (passDate==3 || passDate>=7){ message = "࠷ऴτϨʔχϯά͔Β"+ passDate + "೔ܦա͠·ͨ͠"; sentToLine(message); } } ૊Θ࣮ͤͯ૷͢Δ

Slide 15

Slide 15 text

·ͱΊ • IFTTTΛ࢖ͬͯγʔτʹߦಈΛه࿥ • GASͰܦա೔਺Λܭࢉͱૹ৴൑ఆ • LINE NotifyͰ௨஌ Google Apps ScriptͰࡾ೔๥ओΛࠀ෰͢Δ

Slide 16

Slide 16 text

ଞʹ΋ • Fitbit APIͱ૊ΘͤͯઁऔΧϩϦʔͱӫཆૉΛ௨஌ • ΰϛͷ೔ͷલ೔ʹ௨஌ • ਌΍༑ਓͷ஀ੜ೔ͷ1िؒલʹ௨஌ ͋ͳ͚ͨͩͷ ύʔιφϧτϨʔφʔ݉Ոఉ಺bot͕࡞ΕΔ

Slide 17

Slide 17 text

– tadaken3 “ ےτϨʹ΋Google Apps Scriptʹ΋ ऴΘΓ͕ͳ͍”

Slide 18

Slide 18 text

ϒϩάͷಡऀొ࿥͓ئ͍͠·͢ʂ http://tadaken3.hatenablog.jp

Slide 19

Slide 19 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠