スプレッドシートを使っている人やこれから使ってみようかと思っている人で、共有化していてもしていなくてもスプレッドシートに変化があったときにLINEに通知できるのはご存知でしょうか!?
スプレッドシートが更新された時にラインへ通知が送られるようにしたり、連携でき上手く活用できると色々と便利になりそうです。
今日はその設定の仕方および使い方として実例と共に解説していきます。
Contents
Googleスプレッドシートとラインを既にお使いの方を前提とします。
つまり、Googleアカウントとラインアカウント両方もっていれば簡単に導入できます。
但し、導入できても活用となると難しい面があるのではと思いますので、一つ分かりやすい実例を挙げながら説明します。
連携方法は大きく分けて2通りあり、1つはスプレッドシートのスクリプトエディタあるいはGoogle Apps Script(通称GAS)でプログラムを記述する方法で、もう一つはIFTTTというWebサービスアプリを使う方法です。
今回は記述式プログラミングをしなくていいIFTTTを使って連携する方法について解説します。
個人あるいは公に共有している登録情報を利用することによって、数あるWebサービス同士を連携できるWebサービスです。
コンセプトは以下の通りになります。
もし(IF)これが起きた(This) その時に(Then) → それを(That) 実行する
IFTTTはそれを開発している会社の名前でもあり、IF+This+Then+Thatの大文字を繋なげて、IFTTTでイフトと読みます。
つまりあるイベントが発生(トリガーが掛かる)したときに、何かを実行したり通知したりする役割を果たすサービスを提供しています。
それは代表的なIoT技術の一つでもあります。
例を挙げるならひと昔前のCMであった一人暮らしのおばあちゃんがポットでお湯をくんだら、離れて暮らしている子供にメールが届くとかです。
最近では、AIスピーカ、スマートロックやエアコンのモニタリング及び遠隔操作などです。
今回おこなう例は、スプレッドシート上で何か変更があった場合にLINEに通知するというケースになります。
LINE NotifyおよびIFTTTを使えるようにします。
ラインのアプリを開きLINE公式サイトからLINE Notifyを使えるようにします。
LINE Notifyの設定は、ここでは割愛します。
設定が完了したら次のように友達申請したLINE Notifyからのメッセージを受信できるはずなので、ここだけはご自身でやってみましょう。
IFTTTを使えるようにします。
現在のところ英語以外のページが用意されていない為、英文を理解しながらすすめます。
とにかくIFTTTをグーグルアカウントに紐づけできればいいのです。
IFTTTのHPへ接続しページ右上にある "Get started" をクリックすると "Get started with IFTTT" との表題ページに移動。
"Continue with Apple"
"Continue with Google"
"Continue with Facebook"
と3つの選択肢があるので上から2番目の "Continue with Google" をクリックしIFTTTとGoogleアカウントとの連携ができるようにします。
これが完了したらアプレットと呼ばれる記述式スクリプトが不要なプログラムを作成していきます。
HomeにあるMy Appletsにおいて、Applets作成の為に "+Create" のボタンをクリックしCreate your ownのページへ移動します。
移動したら次の画面が現れます。
"If This +Add" をクリックして、Choose a service のページへ移動します。
多数ある中からGoogle Sheets を見つけて選びます。
Choose a trigger のページで次のサービスから選べます。
画面から作成可能なアプレット作成のテンプレートは4つある事が分かります。
IFTTTのサービスとして、スプレッドシートとライン連携で出来るアプレットパターンはこれらの4つに限られています。
IFTTTは簡単だが機能は限定的で一方GASを使っての記述式スクリプトによるプログラミングは難しいが複雑な事ができるといえます。
今回は4番目のテンプレートである
"Cell updated in spreadsheet This trigger fires when a particular cell is updated within the spreadsheet you specify"
を選択しクリックします。
「指定したスプレッドシートのセルが更新されると、トリガーを発動する」といった意味あいになります。
スプレッドシートのURL及び特定のセルを指定して "Create Trigger" をクリックします。
Create your ownのページへ移動したらLINEの情報を設定する為、次に "Then That Add" をクリックしラインの情報を入力します
LINEのアイコンを見つけクリックしてChoose an actionのページへ移動します。
"Send message. This Action will post a message to LINE." のアイコンをクリックします。
Complete action fieldsのページへ移動し、Recipientにおいて「1:1LINE Notifyから通知を受けとる」を指定する。
Messageにおいて、とりあえずそのまま。
Photo URLも空欄で…
もしラインにメッセージと共に表示させたいのであれば、GoogleドライブにアップしそのURLを貼り付ければよいです。
"Create action" をクリックしページ移動後 "Continue" をクリックします。
Review and finishページに移動します。
Applet Title は "If cell updated in, then Send message" でそのままにして "Finish" をクリック、Receive notifications when this Applet runs はそのままで(デフォルトでトグルは左側)
設定が終わったら、画面右上にある長円囲いの設定 "Settings" をクリックします。
Applet settings の画面が表示されます。
Polling Applets usually run within 1 hour の右側の長円囲いのCheck nowをクリックし、
画面情報に白抜き文字黒帯背景でCheck completed がフェードインし暫く表示されればOKです。
無料で登録できるアプレットは3つ迄となります。
動作確認をおこないます。
スプレッドシートにおいて、IFTTT設定時に指定した特定のセルになんでもよいので何か入力してみてください。
LINE Notifyにメッセージが送られてくるのかを確認してみましょう。
時差があるかもしれませんが、一時間以内で送られてくるようになっているみたいです。
実際に自動で更新された時に、ライン通知がくるのか試してみます。
次にセルが自動で更新されるように例えばあるデータベースから自動でデータが更新されるようにしてみましょう。
これで使える準備が整いました。
一つ通知として便利そうなのは、現在の外気気温を通知してくれると出かける前に服装をどうすればよいかハッキリしますよね!
スマホの画面に現在から数時間程度さかのぼって外気温度が表示されていると結構役に立ちそうです。
アメダスのデータベースから、クリエでデータを取得し指定したセルに表示されるようにします。
次の式をスプレッドシートの適当な所に貼り付けてみてください。
=QUERY(IMPORTHTML("https://tenki.jp/amedas/3/16/44132.html","table",4),"select Col1,Col2,Col3")
これは東京の現在の気温を10分毎に更新されるアメダスのデータベースから取得しており、amedas/3/16...の3は関東地方、16は東京都になっています。
44132は東京都千代田区北の丸公園 東京管区気象台 を表しているようです。
ブラウザでhttps:// ~ .htmlまでの部分のURLをコピペしてそれらの数値を変えて試してみてください。
どうせならお住まいの地域にするとよいですね。
ぜひやってみましょう。
このクリエではそれを挿入したセルから2つ右へ移動し1つ下が最新の気温になるので、そのセルが指定したセルと同じになるように位置を合わせます。
上の例ではG6セルが、IFTTTにおいて指定するセルとなります。
実際これで、通知がなされるか確認してみましょう。
1時間に一度程度の頻度でLine Notify通知が送られてきます。
赤の囲いが、設定場所での直近の外気温度を表示しています。
IFTTTのPhoto URL (optional) 設定で試しにGoogleドライブにアップしたションボリした猫の画像のURLを貼りつけてみました。
もちろん "optional" なので入れなくてもいいです。
尚アプレットが "Connected" 表示になっていれば、スプレッドシートやGoogleドライブは閉じてもGoogleのサーバー上でスプレッドシートの指定したクエリは常時更新している為、LINE通知は継続して実行されます。
その他の活用の例としては、共有したスプレッドシートで通知するセルに計算式を入れておき、共有した複数のメンバーが各々別のセルへ入力した数値が計算処理されて通知するセルへ反映するようにしたりもできそうです。
応用はアイデア次第といえそうですね。
先ずは今回の例を試してみて役に立ちそうであったり興味が湧いてきたならば、あなたのオリジナルの方法を試してみてはいかがですか?
あとはやる気次第!? ではないでしょうか。
コメントフォーム