LINEとつないで地域ごとにその日の最高気温と猛暑予報を通知してみた——猛暑日はテレワークで効率的にお仕事をしよう!

LINEとつないで地域ごとにその日の最高気温と猛暑予報を通知してみた

毎日暑い日が続いていますが、夏バテなどしてませんか?
そんな暑い夏こそぜひ取り入れていただきたいのが「猛暑テレワーク」。

「猛暑テレワーク」というのは、猛暑日(最高気温が35度以上)の 予想が出た日は、積極的にテレワークを推奨するというもので、これによって、猛暑の中多大なエネルギーを使って出勤することを避け、快適な環境で仕事をすることで、 アウトプットの最大化を図るというものなんです。

インフォテリアでは、今年もこの「猛暑テレワーク」を実施中!
この夏もしっかりお仕事もプライベートも充実して過ごせそうです。

猛暑テレワークイメージ

ではこの猛暑予報をどのように毎日確認しているのかというと、
朝の時点でその日の予報が猛暑日(最高気温が35度以上)であるとき、メールで自動的に通知されるという「猛暑日予報メール通知システム」が2年前に構築されていて、社員はこのメールを受け取って、今日はテレワークにするかどうかを判断していました。

こちらの「つないでみたブログ」でもご紹介していましたね。
気象庁とつないで猛暑対策!?

そして今年は新たに猛暑日予報をLINEで通知してみることに!

気象庁のWebページを毎朝チェックして最高気温が35度以上だったらメールを送るという基本的な通知システムの仕組みは2年前のフローですでにできていたので(作り方は『気象庁とつないで猛暑対策!?』を確認してみてくださいね)、今回はそのフローに対してメールではなくLINE通知機能を追加すればいいだけでした。

さらにLINE通知では、地域ごとの毎朝その日の予想最高気温の数値をお知らせし、最高気温が35度以上の時は猛暑テレワークを推奨するメッセージも通知することにしました。

さっそく、LINEで用意されているAPI機能を調べてみると、Messaging APIで実現できそうだということがわかりました。こちら↓

LINEでメッセージを自動的に送信する大まかな流れは以下ようにしてみたいと思います。

1.API実行のためのLINEアカウント(公式アカウント)を取得

 ▼

2.このLINEアカウントを公開し、友だちとして追加してもらう

 ▼

3.このとき追加してもらったユーザの識別子(33桁の無意味な文字列)をDBに保存

 ▼

4.最後に保存しておいたユーザ識別子あてに毎朝メッセージを送信


Messaging APIの利用にはトライアルが用意されていたので、すぐに試すことができました。

LINE BUSINESS CENTER Messaging API

トライアルを申し込んだ後の最初の設定が、「(旧LINE@ MANAGER)」の「アカウント設定」内の「Bot設定」になります。

※現在は、LINE公式アカウント(LINE Official Account Manager)の管理画面に統合されています。


では「Bot設定」を見ていきましょう。

LINE MANAGER Bot設定

「利用可能なAPI」では、「REPLY_MESSAGE」と「PUSH_MESSAGE」の両方を使用します。

・REPLY_MESSAGE
このAPIで、ユーザアクションに応答してメッセージを返信できます。
ユーザアクションとは、「友だち追加」したとか、トークを入力した、などです。

・PUSH_MESSAGE
こちらがメッセージの一斉送信用のAPIです。
これで毎朝5:30に、気象庁のWebページからその日の最高気温予報の数値を取得し、LINEの友だちにメッセージを一斉送信するという設定をします。

・「Webhook送信」は「利用する」です。
このWebhookで、上記REPLY_MESSAGEのためのユーザアクションデータを受け取ります。

・「Botのグループトーク参加」も「利用する」に設定します。

次に、「Line Developer」を設定します。

Line Developer infotest

ここでは「Webhook URL」を設定します。
ユーザアクションデータを受信することのできるURLですね。

ここはフローで受信しますので、フロー作成時の実行設定URLを、ここに設定します。ただし必ずhttpsのURLにします。

Channel Access Token」は送信者認証用のアクセストークンです。
フローからメッセージを送信する際に、HTTPヘッダーに含める必要があります。

以上の設定ができればフローを作成できます。

まずはユーザアクション時の受信データを確認してみます。
ためしに「友だち追加」してみると、次のようなjsonメッセージを受信しました。

type:follow,replyToken:,source:userid,type:user

「type」の値「follow」は、「友だち追加」のアクションを示しています。
そして「userId」がユーザ識別子ですので、この値を取得してDBに格納しています。
またここで必要なら「replyToken」識別子を宛先として、メッセージの返信を行うこともできます。

実際にはこのタイミングで次のようなメッセージを返信しています。

友達登録ありがとうございます。通知希望都市を選択してください。(質問1/3)

そしてこのメッセージに対する選択結果も、ユーザアクションデータとしてWebhookで受信できますので、こちらの値もDBに格納しておきます。

実際のフローはこんな感じですね↓

webhook フロー

Switchコンポーネントで、ユーザアクションに応じて処理を分岐させています。

毎朝のメッセージ送信フローでについては、基本的な仕組みは『気象庁とつないで猛暑対策!?』内で紹介していますので今回は省きますね。

そして今回追加するLINE通知用のAPIがこちら↓
devdocs.line.me/ja/#multicast

Multicast 複数ユーザーに任意のタイミングでメッセージを送信するAPIです。

実際のLINE通知のためのサブフローがこちらです↓

Line_multi3

RESTコンポーネントで①と②を設定し、送信メッセージとなるjsonを③のマッパーで作成しました。このときのjsonは下記の感じです。

おはようございます。東京の今日の最高気温の予報は32度です。

このサブフローを含むLINE通知フローを毎朝実行させます。
もちろん毎朝の定期実行は、ASTERIA Warpのスケジュール実行設定で簡単に設定できちゃいますね。

以上、APIの設定を理解すれば、ASTERIA WarpのフローでAPI連携も簡単です!
さらにLINEのAPIドキュメントはサンプルも充実していて、とてもわかりやすいのでぜひ使ってみるといいと思います。

そして最後に・・・

インフォテリアの猛暑テレワークでも使っている「予想最高気温のLINE通知」ですが、企業様や個人利用としても無償解放をしているので、「友だち追加」してぜひお試しくださいね!

※現在は「予想最高気温のLINE通知」を行っていません。



クラウド版

手ぶら de ASTERIA Warp
体験 5日間を申し込んで
簡単データ連携を体験してみよう!

サーバー準備の手間なくデータ連携ツール「ASTERIA Warp」の
全ての機能を5日間お試しいただけます。

今すぐ体験してみる 書籍の詳細についてはこちらをご覧ください。
基礎と実践 使い方マニュアル
「ASTERIA Warp、データ分析、クラウド、業務効率化、最新技術」人気!ホワイトペーパーダウンロード受付中!今すぐチェック
ASTERIA Warpと色々つないでみた特集!記事はこちら>

ASTERIA Warp 関連サイトのご紹介

X ASTERIA Warp Developer Network(ADN)サイト

技術情報をお探しの方

ASTERIA Warp Developer Network
(ADN)サイト

ASTERIA Warp製品の技術情報やTips、また情報交換の場として「ADNフォーラム」をご用意しています。

X ASTERIA Warpユーザーグループ(AUG)

ASTERIA Warpデベロッパーの方

ASTERIA Warp オンラインコミュニティ
ADN slack

ASTERIA Warpデベロッパー同士をつなげ、技術情報の共有やちょっとしたASTERIA Warpの疑問解決の場とすることを目的としたコミュニティです。

X ASTERIA Warpユーザーサイト

ASTERIA Warpユーザーの方

ASTERIA Warpユーザーサイト
Login

製品更新版や評価版のダウンロード、各種ドキュメントのご提供、また 技術的なお問合せもこちらで受付ています。

X ASTERIA Warpパートナーサイト

ASTERIA Warpパートナーの方

ASTERIA Warpパートナーサイト
Login

パートナーライセンスの発行や各種ドキュメントのご提供をしています。

ページ先頭へ