Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Google Apps Scriptで三日坊主を克服する
Search
tadaken3
October 30, 2017
Programming
2
1.3k
Google Apps Scriptで三日坊主を克服する
10/31にGaiaxさんが主催の『Google Apps Script 活用ミートアップ』で使用した資料です。
https://gaiax.connpass.com/event/69200/
tadaken3
October 30, 2017
Tweet
Share
More Decks by tadaken3
See All by tadaken3
戦略と実行を繋ぐ活用ファーストのデータ分析基盤
tadaken3
0
6
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
960
Exploratory:プロダクト活用度の話
tadaken3
0
62
[我が社のデータエンジニアリング現場]我が社が考える最強のデータ基盤・開発体制!
tadaken3
0
110
はじめてのWatchOSアプリ。はじめてのiOSアプリ
tadaken3
0
65
拡張現実を活用して幸福度をあげる方法
tadaken3
0
1.3k
LINE Notifyで作る健康習慣をサポートする仕組み
tadaken3
0
1.6k
チームづくりにおける成功法則 - LINEにおけるHR Techの取り組み- / people analytics tokyo
tadaken3
1
5.1k
Google Data Studioで イカしたダッシュボード作る
tadaken3
0
1.5k
Other Decks in Programming
See All in Programming
Flutterで分数(Fraction)を表示する方法
koukimiura
0
130
Signals & Resource API in Angular: 3 Effective Rules for Your Architecture @BASTA 2025 in Mainz
manfredsteyer
PRO
0
120
株式会社 Sun terras カンパニーデック
sunterras
0
270
Introducing ReActionView: A new ActionView-Compatible ERB Engine @ Kaigi on Rails 2025, Tokyo, Japan
marcoroth
3
990
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
210
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
230
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
1k
CSC509 Lecture 06
javiergs
PRO
0
260
理論と実務のギャップを超える
eycjur
0
120
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
1.2k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
290
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
120
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.7k
Being A Developer After 40
akosma
91
590k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Facilitating Awesome Meetings
lara
56
6.6k
Site-Speed That Sticks
csswizardry
11
890
Transcript
Google Apps ScriptͰ ࡾओΛࠀ͢Δ @tadaken3
ࣗݾհ • λμέϯ(@tadaken3) • ژग़ • ෳۀɿ͍ͭྡʹITͷ͓ࣄʢhttps://tonari-it.comʣ • झຯɿࣗసंɺےτϨ •
ຊۀɿσʔλΞφϦετ
ےτϨͯ͠·͔͢ʁ
ےτϨ͍ͨ͠Ͱ͢ΑͶʁ
͔ͤͬ͘δϜ௨͍Λ࢝Ί͚ͨͲɺ • ࣄ͕ͯ͘͠ • ࠓɺӍ͔ͩΒ • ҿΈձʹ༠ΘΕͨ • Δؾ͕ग़ͳ͍ ͋Δ͋Δ
Google Apps ScriptͰࡾओΛࠀ͢Δ ؍ଌ͑͞Ͱ͖ΕׯবͰ͖Δɻ ׯবͰ͖ΔͳΒɺ੍ޚͰ͖Δɻ
ᶃߦಈͷه ᶆૹ৴ࢦࣔ ᶅܭࢉ݁Ռͷ อଘ ᶄܦաͷ ܭࢉ εϓϨουγʔτ εϚʔτϑΥϯ Google Apps
ScriptͰࡾओΛࠀ͢Δ Google Apps Script LINE Notify API
Google Apps ScriptͰࡾओΛࠀ͢Δ IFTTTͰϘλϯΛ࡞Δ
Google Apps ScriptͰࡾओΛࠀ͢Δ εϓϨουγʔτʹه
Google Apps ScriptͰࡾओΛࠀ͢Δ //IFTTTͷܗ͔ࣜΒ௨ৗͷʹม function toDateFromIFTTT(str){ str = String(str); str
= str.replace(/at.*/,"")//ਖ਼نදݱͰatΑΓޙΖͷ෦Λআ d = new Date(str); return d; } IFTTTͷܗࣜ(str)Λdateʹม
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); } ܦաΛܭࢉ͢Δ
Google Apps ScriptͰࡾओΛࠀ͢Δ ܦա͕ܭࢉͰ͖ͨ
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ʹϝοηʔδΛૹΔ
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); } } Θ࣮ͤͯ͢Δ
·ͱΊ • IFTTTΛͬͯγʔτʹߦಈΛه • GASͰܦաΛܭࢉͱૹ৴ఆ • LINE NotifyͰ௨ Google Apps
ScriptͰࡾओΛࠀ͢Δ
ଞʹ • Fitbit APIͱΘͤͯઁऔΧϩϦʔͱӫཆૉΛ௨ • ΰϛͷͷલʹ௨ • ༑ਓͷੜͷ1िؒલʹ௨ ͋ͳ͚ͨͩͷ ύʔιφϧτϨʔφʔ݉Ոఉbot͕࡞ΕΔ
– tadaken3 “ ےτϨʹGoogle Apps Scriptʹ ऴΘΓ͕ͳ͍”
ϒϩάͷಡऀొ͓ئ͍͠·͢ʂ http://tadaken3.hatenablog.jp
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠