MotionBoardのチャートをLINEに飛ばしてみた

#最初に
MotionBoard、よく使っています。
業務データを筆頭に、いろいろなシステムの情報が統合可視化できるので、重宝しています。
その中で、ホームページ閲覧数や昨日の実績をダッシュボードで確認しているのですが、
ぶっちゃけ毎日見るのがダルイです。
ほぼほぼ前の日と変わらないことが多いし。

ブラウザ立ち上げて、お気に入りから遷移させても、その行動がめんどくさい。
なのでわざわざダッシュボードを見に行く手間を簡略しようと、今回のチャレンジになりました。

題して**LINEで見ちゃおうMotionBoard**です。
いつも見るチャットツールに定期的に情報を送ってくれると便利ですよね。
SlackやChatWorkなどでもいいですが、無料でみんな使っているLINEに飛ばせればなおさらOKです。

今回はMotionBoardのチャートをLINEに飛ばす設定をやってみます。

#全体の流れ
今回の流れは大きくわけて、４つとなります。

０.やりたいことの確認
１.LINE Notifyの設定
２.MotionBoardとLINEの接続
３.チャートイメージを飛ばしてみる

さっそく見ていきましょう。

<details><summary>【MotionBoardとは】</summary><div>
様々なデータソースからデータをあつめ、１つの画面上で統合するMotionBoard。
クラウドサービスとの接続もでき、チャットツール送信もできるのでとてもおもしろいです。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657180/877897e8-35d1-b055-a80c-b9051866bc38.png" width=60%>
※キャプチャはウイングアーク1st社のホームページより抜粋
[ウイングアーク１ｓｔ株式会社　MotionBoard](https://www.wingarc.com/product/motionboard/index.html)
</div></details>


##０.やりたいことの確認
今回やりたいことは、中華料理屋"一番飯店"のホームページの閲覧数をLINEで飛ばすことです。

ちょっと一番飯店のホームページを貼っておきます。（プチ宣伝）
http://ichibanhanten.com/

ホームページの分析はGoogle Analyticsで取得できており、MotionBoardのGoogle Analytics連携でダッシュボードとして可視化しています。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/5b803df8-aea4-a8a8-785f-0b167d968eb3.png" width=60%>
MotionBoardのGoogle Analytics連携についてはこちらの記事をご参照ください。
[Google Analyticsデータを利用したWeb分析ダッシュボードの作成方法（ネイティブアプリケーション編）](http://navi.wingarc.com/motionboard/googleanalytics.html)
[Google Analyticsデータを利用したWeb分析ダッシュボードの作成方法（サービスアカウント編）](http://navi.wingarc.com/motionboard/googleanalytics2.html)



画面真ん中ちょい上の時系列の棒グラフが今回LINEに連携したい対象となります。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/0c123072-adea-0e0d-48ed-ac49e90e97ea.png" width=60%>
あくまでLINE上で知りたいのは概略のみ、細かく知りたければボードを開けばよいのです。

最初に書いちゃいますが、MotionBoardからLINEに飛ばせる情報は**テキストと画像**です。
PDFやExcel、パワポなどは飛ばせないので気を付けてください。


##１.LINE Notifyの設定
今回は企業が使うLINE WORKSとは異なり、みなさんがプライベートで使っているLINEとの連携となります。
LINEとの連携にはLINE Notifyという機能を使います。
LINE Notifyは外部Webサービスやアプリケーションからの通知をLINEのメッセージで配信するサービスです。

このNotifyにMotionBoardから通知を与えて、配信してもらう手はずになります。

設定は単純でした。
[LINE Notifyのリンク](https://notify-bot.line.me/ja/)に入りまして、画面右上のログインから、自分のアカウントに入ります。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/91930bf8-be59-5c8f-efb8-2afc45b99964.png" width=60%>

新しいサービスを登録します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/ea12c995-af28-bab0-6db8-b02ce86e7c3b.png" width=60%>

設定は難しいものではなく、[LINEの環境や設定を準備・確認する](https://cs.wingarc.com/manual/mb/6.1/ja/UUID-fd98aa84-d05e-bf9d-a29b-3e08475b7361.html)を見ながら進められます。
コールバックURLを
　http://xxxxxx/motionboard/oauth2/line　
とするところが気を付ける点となります。

登録したメールアドレスにに認証要求が来ますので、認証しましょう。


登録するとClient IDが発行されます。これが大事。
Client Secretと共にあとで使いますので、保存しておきましょう。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/c752efd1-2269-790e-5966-da84cf731bb5.png" width=60%>

続いて、クライアント側の設定をします。

個人的にこれを探すのが一番大変でした💦
LINEの友だち検索に手間取ってました。
友だちの検索で公式アカウントであるLINE Notifyをお友だちにします。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/e3b7176b-d55c-f7e5-192c-462d8821d3b2.png" width=40%>

トークを見ると、Notifyから投稿されています。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/2c3d1f7a-7ea4-254d-fd0c-badad6e7fbc7.png" width=40%>

LINEでグループを作り、そこにLINE Notifyを招待します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/1104220f-c4b1-27e0-1289-8c4e7b38d050.png" width=40%>

準備はこれでOKです。
次はMotionBoardとLINE Notifyの接続設定をします。

##２.MotionBoardとLINEの接続
MotionBoardとLINE Notifyを接続する設定を確認していきます。

MotionBoardの右上から
管理 → システム設定 → 接続/認証 → チャット　を選択
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/06b0ef8c-e9b9-b332-49f3-599274e33889.png" width=60%>


画面左下の新規作成から、チャットアプリで"LINE"を選択し、
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/2d2ce295-48c4-0b2a-127d-445e8af9592d.png" width=60%>

Client IDとClient Secretを入力します。
これらの情報はLINE Notify側に記載がありますので、確認。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/13bf3680-036c-4ca2-a137-fa5981273fb2.png" width=60%>

オンライン認証をしてから、テスト送信をしてみて、LINE Notifyがグループに文字を送ってきたらOK、次に参ります。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/1392c6b7-d342-ee37-32bc-fa3c89dd2921.png" width=60%>

うん、良いですね。

##３.チャートイメージを飛ばしてみる
さて、いよいよメインどころ。
今回LINEに飛ばしたいチャートはこの子です。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/0c123072-adea-0e0d-48ed-ac49e90e97ea.png" width=60%>


このチャートの入っているボードのタスク設定をしていきます。
ボードを編集画面にして、左下の ボード管理 → タスク設定 を選択。
「配信設定」のところで左下の 新規作成 をクリック。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/b2da15b6-3d63-15b9-d4a8-0d0933130713.png" width=60%>

**基本設定タブ**では
実行ユーザーを指定して、ページサイズを決定。
そしてチャート保存形式を"PNG"にします。
ここPDFにしてもLINEには飛ばせません。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/d4bc9caf-8fa8-291f-a5ba-9f8c3316d3f1.png" width=60%>

**配信対象タブ**では
どのチャートをLINEに飛ばすか選択します。
後述しますが、こちらは配信専用のチャートを作って、画面の裏側に隠しときました。
こちらを使用します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/7485b21e-8ce0-2635-341e-fa7fc78ce211.png" width=60%>

**チャットタブ**では
"チャット"で設定したLINEを選択し、メッセージを入れます。
メッセージにはシステム変数を使うことも可能です。
しかし、空っぽはダメでした。何も飛ばなくなりました。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/3ad92361-ddac-ae44-f43c-9d8ab9822f06.png" width=60%>

**スケジュールタブ**では
配信のタイミングを設定します。
今回は毎日、朝8:00にしました。
下図ではチェックをつけていませんが、「ボード保存時にタスクを実行する」はチェックをいれると良いです。
（テスト配信ができないので、ここで試すしかないから）
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/1b003028-a0f7-e015-0bf5-69ceb7f81a47.png" width=60%>


それではテストです。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/d3ee24a5-0349-3bf5-8c81-e6b6b8811114.png" width=50%>

お、うまくいったようですね。
でもiPhoneのちっちゃい画面でこのチャートを見るのは酷ですね。
別に１ヶ月の推移は必要なく、昨日と前週までが見れればOKなので、１週間にしましょう。

ダッシュボード上は１ヶ月にしてて、それを直すのはめんどうなので、タスク配信用のチャートを用意しました。

下図のように全体検索の対象から外し、データソースの検索条件で変数を指定します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/c59f368e-6db1-5011-60f0-57d324c2852c.png" width=60%>
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/06cbd686-1620-d3ed-9335-326a2c27ae3b.png" width=60%>

8日前という変数を作りたいときは、日付型のシステム変数の中で
```DATE("D=-8","YYYY/MM/DD")```
と入力すればOKです。


そして再度配信テスト。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/657414/192ea78c-6c79-6195-7987-0530cbd49909.png" width=40%>


成功でございます。
これで朝8:00に自動で、昨日までのホームページ閲覧数が見れるようになりました。




このような感じでお手軽に、LINE連携することができました。
チャットツールを持っていない企業でも、このLINE連携を使えば、業務の効率化ができる・・・かもです。


さーて、次はどんなおもしろいことをしようかな。