はじめに
この記事では、SORACOM Flux と LINE Messaging API の連携方法を解説します。
SORACOM Fluxのアクションには、「LINE通知」が用意されているのですが、現在は、LINE Notifyを使った仕組みであり、「今後サービスの終了がアナウンスされている」「LINE公式アカウントなどとの連携も考えたい」ということで、今回は LINE Messaging API との連携方法を解説します。
具体例
LINE公式アカウントで、ソラカメで取得した画像を、AIアクションで分析した文章を配信しています。このような形で、LINE公式アカウントで配信することが可能となります。
今回の例では、SORACOM Harvest Filesにアップされた画像を、AIアクションを使って画像解析して、その解析した結果をLINE公式アカウントで配信するというシステムを例に説明します。全体のフローは以下のような感じとなり、LINE公式アカウントにメッセージを送るために、Webhookアクションで、LINE Messaging APIを使って、メッセージを送信します。
連携方法
LINE公式アカウントの作成やアクセストークンの発行などは、別途事前に行って下さい。
今回は、SORACOM Flux 上で連携する方法にフォーカスして解説します。
新しいアクションを作成
LINE Messaging API を使用して、LINE公式アカウントでメッセージを配信します。そのため、アクションとしては、「LINE通知」ではなく、「Webhook」を使用します。
アクション内容を記載
LINE Messaging API を使用するので、HTTPメソッドを使用します。デフォルトの[CONFIG]設定は以下のようになっています。こちらを編集して、LINE Messaging API と連携させます。
参考例は以下のとおりです。それでは、詳細の内容を確認します。
それぞれの設定内容は以下のとおりです。
- HTTPメソッド:POST
- URL: https://api.line.me/v2/bot/message/broadcast ※この例はブロードキャストしています
- HTTPヘッダー:
- content-type:application/json
- Authorization:Bearer {channel access token}
- HTTPボディ
{
"messages":[
{
"type":"text",
"text":"Hello, world1"
}
]
}
また、SORACOM Fluxでは、
『${payload.temperature} のようなテンプレート表記を使って動的に値を構築することが可能です』
とあるので、AIアクションを使った結果を活用したい場合などは、HTTPボディの中に以下のように記述することで、前のアクションの結果を使って動的にメッセージを変更することができました。
{
"messages":[
{
"type":"text",
"text":"${payload.output.description}"
}
]
}
以上で、SORACOM Flux と LINE Messaging API の連携が可能となります。
最後に
Webhookアクションが使えるということで、比較的容易に LINE Messaging API と連携して、LINE公式アカウントにメッセージを送信することができました。Webhookに対応しているサービスとの連携はある程度、この方法でやれるような気がしています。