SORACOM IoT レシピ:LINE Worksに通知が届く、呼び出しシステム
公開日:2021年8月
レシピ難易度:★★★★☆
このレシピでは SORACOM LTE-M Button と LINE Worksを組み合わせて業務向けの呼出しボタンを作る手順を紹介します。
LINE を活用した個人向け呼出しボタンのレシピも公開していますのでユースケースに合せて選んでお試しください。
本レシピは業務向けの呼び出しボタンではお問い合わせをチームで対応するユースケースに対応しており、ボタンクリックを LINE Worksのグループチャットに通知するまでの手順をご紹介しています。
たとえばタクシーの呼び出しボタンであったり、会議室等のオフィスでのヘルプボタンのような使い方を想定しています。
全体構成
![](/wp-content/uploads/2021/08/Screen-Shot-2021-08-06-at-14.14.55-1024x397.png)
使用する SORACOM サービス
- SORACOM LTE-M Button
- クラウドファンクションサービス SORACOM Funk
本レシピを行うのに必要な時間、概算費用
- 必要な時間: 約120分
- 概算費用: 約6,600円
※ 概算費用: ハードウェアや SORACOM を始めとした各種サービスの概ねの費用 (送料などの付帯費用や無料枠適用は考慮しないものとしています)
このコンテンツの進め方
上から内容を読み進みながら作業を行なっていきます。また左サイドに追従する目次からページ内の移動が可能です。
本コンテンツは現状のままで提供され、株式会社ソラコムは、誤りがないことの保証を含め、明示であると黙示であるとを問わず、本コンテンツの記載内容につき、いかなる種類の表明も保証も行いません。
掲載情報の閲覧及び利用により、利用者自身、もしくは第三者が被った損害に対して、直接的、間接的を問わず、株式会社ソラコムは責任を負いかねます。
本コンテンツを実践する中で用意された機器、利用されたサービスについてのご質問は、それぞれの機器やサービスの提供元にお問い合わせをお願いします。機器やサービスの仕様は、本コンテンツ作成当時のものです。
株式会社ソラコムが提供する機器・サービスについてのご質問は、 https://soracom.jp/contact/ をご確認の上、適切な窓口へのお問い合わせをお願いします。機器・サービスご利用前の導入相談は https://soracom.jp/contact/contactsales/ に、機器・サービスご利用開始後のサポートは、SORACOMユーザーコンソール内のサポートサイトから「リクエストを送信」(要ログイン)にてお問い合わせください。
Copyright (c) 2023 SORACOM, INC.
本レシピを行うための前提知識
レシピ内にはターミナル(黒い画面)を使う作業が含まれます。ターミナルの利用方法は説明に含まれませんので事前の確認をおすすめします。
準備
本レシピを行うためには以下のものをご用意ください。
ハードウェア
品名 | 数量 | 価格 | 備考 |
SORACOM LTE-M Button for Enterprise | 1 | 6,578円 | SORACOM LTE-M Button Plus でも代用可能です。 |
パソコン | 1 | ― | インターネット接続が可能でサイトへの接続が自由であること。Google Chrome 等の最新ブラウザーが利用可能な事。 |
※ 金額はレシピ作成時となります。金額は税込み・送料別です。
ご購入について
その他必要なもの
必要なもの | 費用 | 作成方法など |
SORACOM アカウント | 無料※ | SORACOM アカウントの作成 (JP) |
AWS アカウント | 無料※ | AWS アカウントの作成 (JP) AWS Lambda Function や IAM 等のリソースを作成する権限が必要になります。あらかじめ AWS のアカウントを取得し IAM の権限を準備しておきましょう。 |
LINE Works アカウント | 無料※ | LINE Works アカウントの作成 Bot の作成には管理者権限が必要になりますのであらかじめ準備しておきましょう。 |
※ アカウント作成・維持の費用の料金です。
SORACOM LTE-M Button が届いたら
SORACOM LTE-M Button は、 SORACOM に登録することで様々なクラウドとの連携が可能となります。そのため、まず SORACOM LTE-M Button がお手元に届いたら、SORACOM へ登録をしましょう。
※ すでに登録済みの場合は次へお進みください。
登録の方法は発注済みの SIM を登録する(JP)をご覧ください。約 5 分で完了します。
登録が完了すると SORACOM LTE-M Button が “準備完了” として、SIM 管理の一覧に表示されますので、確認ください。
LINE Works の設定
本レシピでは LINE Works の Bot 機能を活用します。Bot 機能の設定には LINE Works の管理者権限が必要ですので、権限をお持ちでない場合は組織の担当者にご確認ください。
LINE Works APIは2023年4月30日にバージョン1.0のEOLを予定しており、EOLまでに新しいバージョン2.0への移行が必要です。
このレシピは公開当初バージョン1.0のみに対応していましたが、最新の内容ではバージョン2.0に対応しています。 APIバージョン1.0でご利用の方は本レシピ内のバージョン2.0への移行手順をご確認いただき、速やかに移行くださいますようお願いします。
バージョン1.0のEOLの詳細はLINE Worksの開発者向けガイドを参照ください。https://developers.worksmobile.com/
設定は以下の流れですすめます。
- LINE Works アプリケーションの追加
- LINE Works Bot の設定
- LINE Works グループの作成と Bot の招待
LINE Works アプリケーションの追加
まず最初にLINE WorksのDeveloper Consoleでアプリケーションを追加します。
https://developers.worksmobile.com/jp/console/openapi/v2/app/list/view
![](/wp-content/uploads/2023/02/LINE-WORKS-Developers-2023-02-14-10-07-39-1024x489.png)
アプリケーション名に任意の名前を指定します。この例では「SORACOM LTE-M Button」としています。
![](/wp-content/uploads/2023/02/LINE-WORKS-Developers-2023-02-14-10-10-50.png)
続いてOAuth Scopesの管理をクリックして「bot」にチェックを入れて保存します。
![](/wp-content/uploads/2023/02/image-23-1024x788.png)
![](/wp-content/uploads/2023/02/image-24-896x1024.png)
最後にもう一度保存をクリックします。
表示された「Client ID」と「Client Secret」はあとの手順で利用するので控えておきます。続いて「Service Account」の「発行」ボタンをクリックします。
「Client Secret」は秘密情報です。取り扱いには充分にご注意ください。
![](/wp-content/uploads/2023/02/image-31-1024x879.png)
「OK」ボタンをクリックします。
![](/wp-content/uploads/2023/02/image-26.png)
もう一度「OK」ボタンをクリックします。
![](/wp-content/uploads/2023/02/image-27.png)
「Service Account」の値は後続の手順で利用するので控えておきます。
続いて「Private Key」の「発行 / 再発行」ボタンをクリックします。
![](/wp-content/uploads/2023/02/image-29-1024x906.png)
「OK」ボタンをクリックするとPrivate Keyのファイル(private_yyyymmddhhMMss.key)がダウンロードされます。Private Keyは後続の手順で利用するので控えておきます。
「Private Key」のファイルは秘密情報です。取り扱いには充分にご注意ください。
![](/wp-content/uploads/2023/02/image-32.png)
LINE Works Bot の作成と設定
次にBotを作成します。
https://developers.worksmobile.com/jp/console/bot/view
メニューの「Bot」をクリックして、右側の登録ボタンをクリックします。
![](/wp-content/uploads/2023/02/image-33-1024x639.png)
いくつかのパラメータを指定してBOTを作成します。
- Bot名: 任意の名前を付けます。この例では「SORACOM LTE-M Button Bot v2.0」としています。
- 説明: Botの役割を記載します。この例では「ボタンクリックをお知らせします」としています。
- API Interface: 必ず「API 2.0」を選択します。
- Callback URL: Offを選択します
- Botポリシー: トークルームへの招待で「複数人のトークルームに招待可」をチェックします。
- 管理者: 主担当は必須です。組織内のLINE Works管理者に相談してください。
![](/wp-content/uploads/2023/02/image-34-1016x1024.png)
![](/wp-content/uploads/2023/02/image-35-1024x658.png)
「OK」ボタンをクリックします。
![](/wp-content/uploads/2023/02/image-36.png)
作成したBotを選択して「Bot ID」と「Bot Secret」を控えます。
「Bot Secret」は秘密情報です。取り扱いには充分にご注意ください。
![](/wp-content/uploads/2023/02/image-37-1024x392.png)
![](/wp-content/uploads/2023/02/image-38-1024x985.png)
組織への Bot の追加
先程作成した Bot を組織に追加します。組織の管理画面にアクセスします。
https://admin.worksmobile.com/
「サービス」 => 「Bot」の順にクリックします。
![](/wp-content/uploads/2023/03/image-510x1024.png)
画面右上の「Bot追加」ボタンをクリックします。
![](/wp-content/uploads/2023/03/image-1-1024x415.png)
作成したBotであることを確認のうえ「追加」をクリックします。
![](/wp-content/uploads/2023/03/image-2-1024x589.png)
「OK」をクリックします。
![](/wp-content/uploads/2023/03/image-3.png)
「前に戻る」をクリックします。
![](/wp-content/uploads/2023/03/image-4-1024x313.png)
追加した Bot の名前をクリックします。
![](/wp-content/uploads/2023/03/image-5-1024x439.png)
「修正」ボタンをクリックします。
![](/wp-content/uploads/2023/03/image-6-625x1024.png)
公開設定を有効にし、「保存」ボタンをクリックします。
![](/wp-content/uploads/2023/03/image-7-597x1024.png)
LINE Works トークルームの作成と Bot の招待
Botからメッセージを受け取るトークルームを作成します。
「新規作成」から「グループ」をクリックします。
![](/wp-content/uploads/2023/02/image-39.png)
グループ名を入力します。この例では「SORACOM LTE-M Button 通知グループ」にしています。「追加」ボタンをクリックします。
![](/wp-content/uploads/2023/02/image-43-961x1024.png)
「閉じる」ボタンをクリックします。
![](/wp-content/uploads/2023/02/image-44-964x1024.png)
左メニューから作成したグループを選択し、右上の「…(三点リーダー)」 => 「Bot招待」の順にクリックします。
![](/wp-content/uploads/2023/02/image-45-1024x567.png)
作成したBot(この例では SORACOM LTE-M Button Bot v2)を選択し「OK」ボタンをクリックします。
![](/wp-content/uploads/2023/02/image-46-1024x895.png)
グループトークの画面に Bot 追加のメッセージが表示されたことを確認します。
![](/wp-content/uploads/2023/02/image-47-1024x708.png)
再度「…(三点リーダー)」をクリックし、「チャンネルID」をクリックします。
![](/wp-content/uploads/2023/02/image-48-1024x616.png)
「チャンネルIDをコピー」ボタンをクリックし、「X」をクリックします。チャンネルIDは後続の手順で利用するので控えておきます。
![](/wp-content/uploads/2023/02/image-49.png)
以上で LINE Works の設定が完了です。続いて AWS の設定をすすめていきましょう。
AWS の設定
開発環境の整備
本レシピでは以下のツールを利用します。既に導入済のツールの項目は読み飛ばしていただくか、お手元の環境にあわせてセットアップをすすめてください。
docker のインストール
下記の手順を参照して docker をインストールします。
https://docs.docker.com/engine/install/
Docker alternativeをご利用の場合は適宜読み替えてください。
AWS CLI のインストール
下記の手順を参照して AWS CLI をインストールします。インストール後認証情報をセットアップしてください。
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html
セットアップ後に動作確認のコマンド aws sts get-caller-identity を実行してレスポンスが返ってくれば設定が完了しています。エラーになる場合は aws コマンドを実行できるか、もしくは認証情報をご確認ください。
$ aws sts get-caller-identity { "UserId": "AXXXXXXXXXXXXXXXXXXXX:botocore-session-XXXXXXXXXX", "Account": "XXXXXXXXXXXX", "Arn": "arn:aws:sts::XXXXXXXXXXXX:XXXX/XXXX }
AWS CDK CLI のインストール
下記の手順を参照して AWS CDK CLI をインストールします。
https://docs.aws.amazon.com/cdk/v2/guide/cli.html
インストール後は cdk --help コマンドを実行できるかご確認ください。
cdk --help
yarn のインストール
下記の手順を参照して yarn をインストールします。
https://classic.yarnpkg.com/en/docs/install
インストール後は yarn --version コマンドを実行できるかご確認ください。
$ yarn --version 1.22.19
ソースコードのダウンロード
下記のリポジトリからソースコードの一式をダウンロードします。
https://github.com/soracom-labs/soracom-button-integrate-line-works-message-bot-example
秘密情報のアップロード
先の手順 で取得した秘密情報を下記のコマンドで AWS にアップロードします。コマンド中のPrivate Keyのファイルパスは適宜変更のうえコマンドを実行してください。
macOS 向け
$ aws ssm put-parameter --name "line-works-app-client-secret-v2" --type "SecureString" --value "[Client Secret]" # [Client Secret]は書き換えてください $ aws ssm put-parameter --name "line-works-app-private-key-v2" --type "SecureString" --value "$(cat private_yyyymmddhhMMss.key)" # ファイル名は書き換えてください $ APP_CLIENT_SECRET_ARN=$(aws ssm get-parameter --name "line-works-app-client-secret-v2" --query 'Parameter.ARN' --output text) $ PRIVATE_KEY_ARN=$(aws ssm get-parameter --name "line-works-app-private-key-v2" --query 'Parameter.ARN' --output text)
Windows 向け
PS /> $SECRET = [IO.File]::ReadAllText("private_yyyymmddhhMMss.key") # ファイル名は書き換えてください PS /> aws ssm put-parameter --name "line-works-app-client-secret-v2" --type "SecureString" --value "[Client Secret]" # [Client Secret]は書き換えてください PS /> aws ssm put-parameter --name "line-works-app-private-key-v2" --type "SecureString" --value "$SECRET" PS /> $APP_CLIENT_SECRET_ARN = aws ssm get-parameter --name "line-works-app-client-secret-v2" --query 'Parameter.ARN' --output text PS /> $PRIVATE_KEY_ARN = aws ssm get-parameter --name "line-works-app-private-key-v2" --query 'Parameter.ARN' --output text
AWS リソースのデプロイ
これまでの設定で取得した情報を添えて AWS リソースを作成します。
- BOT_NO_V2:こちらで作成した LINE Works の [Bot ID] を指定します
- APP_CLIENT_ID:こちらで発行した LINE Works の アプリケーション [Client ID] を指定します
- APP_CLIENT_SECRET_ARN:こちらで作成した LINE Works の アプリケーション [Client Secret] のARNを指定します。
- SERVICE_ACCOUNT_ID:こちらで取得した LINE Works の アプリケーション [Service Account] を指定します。
- CHANNEL_ID:こちらで取得した LINE Works の グループトークの [チャンネルID] を指定します。
- PRIVATE_KEY_ARN:こちらで作成した LINE Works の アプリケーション [Private Key] のARNを指定します。
- EXTERNAL_ID:SORACOM Funk が AWS Lambda を呼び出す際の識別子を指定します。識別子は任意の文字列を指定可能です。ここで指定した識別子は後の手順で利用するので控えておきましょう。(詳細はこちらの ExternalId を参照ください)
次に示すコマンドで AWS リソースを作成します。xxxx は上記パラメータに従って適宜置き換えた上で実行してみましょう。
$ yarn run cdk bootstrap $ yarn install $ BOT_NO_V2='xxxxxx' \ APP_CLIENT_ID='xxxxxx' \ APP_CLIENT_SECRET_ARN=$APP_CLIENT_SECRET_ARN \ SERVICE_ACCOUNT_ID='xxxxx.serviceaccount@xxxxxx' \ CHANNEL_ID='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \ PRIVATE_KEY_ARN=$PRIVATE_KEY_ARN \ EXTERNAL_ID='xxxxxx' \ yarn run cdk deploy --no-staging
作成には数分要する場合があります。作成が完了すると以下のように表示されます。
✅ SoracomButtonIntegrateLineWorksMessageBotExampleStack (no changes) ✨ Deployment time: 0.7s Outputs: SoracomButtonIntegrateLineWorksMessageBotExampleStack.lambdafunctionarn = arn:aws:lambda:ap-northeast-1:xxxxxx:function:SoracomButtonIntegrateLineWorks-messagebotXXXXXXXX SoracomButtonIntegrateLineWorksMessageBotExampleStack.lambdafunctionv2arn = arn:aws:lambda:ap-northeast-1:xxxxxx:function:SoracomButtonIntegrateLineWo-messagebotv2XXXXXXXX SoracomButtonIntegrateLineWorksMessageBotExampleStack.soracomfunkrole = arn:aws:iam::903921708000:role/message-bot-soracom-funk-role
注意
macOSでdocker altanativeの1つであるlimaをご利用の場合、設定ファイル(lima.yaml)でソースコードのディレクトリへの書き込みを明示的に許可する必要があります。
ソースコードのディレクトリでホームディレクトリ配下を指定する際にはこちらのissueを参考のうえデフォルトのエントリを削除するか writable: ture にします。
https://github.com/lima-vm/lima/issues/302
mounts: - location: "~" - location: "/path/to/source" #追記 writable: true #追記
Outputs:
に表示されている SoracomButtonIntegrateLineWorksMessageBotExampleStack.lambdafunctionv2arn
(lambdafunction
ではない)と SoracomButtonIntegrateLineWorksMessageBotExampleStack.soracomfunkrole
の =
以降の2つの文字列は後の手順で利用するので控えておきましょう。
次は SORACOM の設定です。あともう少しです! 頑張って!
SORACOM の設定
SORACOM Funk の設定は Web コンソールから行います。
SIM グループの設定(SORACOM Funk の設定)
SORACOM の Web コンソールにログイン後画面左上の「Menu」をクリックします。
![](/wp-content/uploads/2021/08/soracom-console-top.png)
メニュー内の「SIM グループ」をクリックします。
![](/wp-content/uploads/2021/08/soracom-console-top-menu.png)
SIM グループ画面で「追加」をクリックします。
![](/wp-content/uploads/2021/08/soracom-console-sim-group-top.png)
任意の SIM グループ名を指定し「グループ作成」をクリックします。この例では「soracom-lte-m-button-line-bot
」と名付けています。
![](/wp-content/uploads/2021/08/soracom-console-sim-group-create-1024x473.png)
作成したグループの設定画面内下部の「SORACOM Funk 設定」をクリックして設定画面を表示します。SORACOM Funk 設定画面内の「ON」をクリックし、認証情報右側の「+」をクリックします。
![](/wp-content/uploads/2021/08/soracom-console-sim-group-funk-1-1024x543.png)
SORACOM Funk に AWS Lambdaを実行する際に使用する認証情報を設定します。下記の設定を指定した後に「登録」をクリックします。
- 認証情報ID:任意の名前を付けます。この例では「message-bot-soracom-funk-role」としています。
- 種別:「AWS IAM ロール認証情報」を指定します。
- ロールARN: こちらで出力されたSoracomButtonIntegrateLineWorksMessageBotExampleStack.soracomfunkroleの値(arn:aws:iam::000000000000:role/message-bot-soracom-funk-role のような形式です)を指定します。
- 外部 ID: こちらの手順の EXTERNAL_ID で指定した値と同じものを入力します。
![](/wp-content/uploads/2021/08/soracom-console-auth-param-create-1017x1024.png)
SORACOM Funk の画面に戻ったら残りの設定をしていきます。下記の設定を指定した後に「保存」をクリックします。
- サービス:AWS Lambda を選択します。
- 関数の ARN:こちらで出力された
SoracomButtonIntegrateLineWorksMessageBotExampleStack.lambdafunctionv2arn
(lambdafunction
ではない) の値(arn:aws:lambda:ap-northeast-1:000000000000:function:SoracomButtonIntegrateLineWorks-messagebotxxxxxxx-xxxxxxx のような形式です)を指定します。 - 認証情報:1 つ前の手順で作成した認証情報を選択します。この例では「
message-bot-soracom-funk-role
」としています。 - 送信データ形式:
JSON
を選択します。
![](/wp-content/uploads/2021/08/soracom-console-sim-group-funk-2-1024x747.png)
注意:保存のクリックを忘れやすいのでご注意ください。
SIMグループの設定(SORACOM Airの設定)
前の手順と同じ設定画面内上部の「SORACOM Air for Cellular 設定」をクリックしてメニューを開きます。
![](/wp-content/uploads/2021/08/soracom-console-sim-group-air-1-1024x427.png)
メニュー内の「バイナリパーサー」をクリックして有効(緑色)にしたあと、「フォーマット」に半角文字で @button と入力して「保存」をクリックします。フォーマットはこの文からのコピー&ペーストがおすすめです。
![](/wp-content/uploads/2021/08/soracom-console-sim-group-air-2-1024x299.png)
注意:保存のクリックを忘れやすいのでご注意ください。
SIM グループの設定(SIM の設定)
SIM グループ設定で SORACOM Funk と SORACOM Air の設定を済ませたら 「Menu」>「SIM管理」の順にクリックしSIM の一覧画面に戻ります。
![](/wp-content/uploads/2022/06/77e443d1d9aae1f5fc487c6b53495a04.png)
SORACOM LTE-M Button の SIM だけにチェックを入れた状態で「操作」をクリックし、「所属グループ変更」をクリックします。
![](/wp-content/uploads/2021/08/soracom-console-top-modify-group-1024x410.png)
正しい SIM が選択されていること、新しい所属グループに先程作成したグループ(この例では soracom-lte-m-button-line-bot )が選択されていることを確認のうえ「グループ変更」をクリックします。
![](/wp-content/uploads/2021/08/soracom-console-top-modify-group-confirm-1024x685.png)
SIM 一覧画面で SIM のグループが変更されていることを確認します。
![](/wp-content/uploads/2021/08/soracom-console-top-modify-group-save-1024x326.png)
以上で SORACOM の設定が完了しました。早速動作確認してみましょう!
動作確認
SORACOM LTE-M Button をクリックしてみましょう。しばらくオレンジ色に点滅したあと・・・
![](/wp-content/uploads/2021/08/soracom-lte-m-button-led-orange-1024x515.png)
緑色に点灯すれば成功です!
![](/wp-content/uploads/2021/08/soracom-lte-m-button-led-green-1024x515.png)
LINE WORKS のトーク画面にメッセージが表示されているはずです。
![](/wp-content/uploads/2021/08/line-works-talk-message-from-bot-1024x396.png)
「Ack」をクリックして対応を開始しましょう。
![](/wp-content/uploads/2021/08/line-works-talk-message-from-bot-ack-1024x498.png)
対応してくれた同僚に感謝の気持を送るのを忘れずに!
![](/wp-content/uploads/2021/08/line-works-talk-message-from-bot-thanks.png)
ボタンが緑色に光らない場合
いくつか原因が考えられますので、下記を 1 つずつ確認していきましょう。
- AWS リソース作成時にパラメータを渡し忘れているものはないか、間違った値を渡していないか
- SORACOM Funk / SORACOM Air の設定は忘れていないか、間違った値を設定していないか
- ひょっとするとボタンの電波環境が良くないかもしれないので、ボタンを押す場所を変えて変化がないか
上記を確認しても解決しない場合は切り分けの結果を添えて SORACOM サポート窓口までお問い合わせください。
まとめ
SORACOM LTE-M Button を使って業務向けのチャットツールでお問い合わせをチーム対応する例をご紹介しました。本レシピへのフィードバックや他のツールとの連携で気になる例がありましたらお気軽に SORACOM の Twitter アカウントかサポート窓口までご連絡ください。
LINE Works API version 1.0 からの移行
これまで本レシピの内容を LINE Works API version 1.0 で実行していた方はEOLまでに次の手順で version 2.0 に移行します。
本レシピでは新しいBotを作成する手順になっています。既存のBotの動作バージョンを 1.0 から 2.0 に変更する手順はサポートしていませんので適宜読み替えてください。
参考:API 2.0 Botへのアップグレードガイド
- ソースコードのバージョンアップ
- API version 2.0 用のアプリケーション設定とBot設定
- AWSの設定更新
- API version 2.0 向けSORACOM Funkの設定追加
- API version 2.0 動作確認
- SIMのグループ設定変更による切り替え
ソースコードのバージョンアップ
API version 2.0 に対応する新しいソースコードが公開されています。 `git pull` 等の方法で最新のソースコードを取得してください。
https://github.com/soracom-labs/soracom-button-integrate-line-works-message-bot-example
API version 2.0 用のアプリケーション設定とBot設定
こちらの手順にならって新しいBotとグループトークを作成して「チャンネル ID」を控えておきます。
既存のグループトークを継続利用する場合は、既存のグループに API version 2.0 対応 Bot を招待し「チャンネル ID」を確認してください。
AWSの設定更新
次のコマンドで API version 2.0 対応 AWS Lambda を追加します。既存のLamdaファンクションも更新の対象になりますが動作に影響はありません。
API version 1.0 向けの環境変数を必ず指定してください。指定しない場合は既存サービスが停止しますのでご注意ください。
$ API_ID='xxxxxx' \ CONSUMER_KEY='xxxxxx' \ BOT_NO='xxxxxx' \ SERVER_ID='xxxxxx' \ ROOM_ID='xxxxxx' \ SERVER_TOKEN_SECRET_ARN=$(aws ssm get-parameter --name "line-works-server-token-secret" --query 'Parameter.ARN' --output text) \ BOT_NO_V2='xxxxxx' \ APP_CLIENT_ID='xxxxxx' \ APP_CLIENT_SECRET_ARN=$(aws ssm get-parameter --name "line-works-app-client-secret-v2" --query 'Parameter.ARN' --output text) \ SERVICE_ACCOUNT_ID='xxxxx.serviceaccount@xxxxxx' \ CHANNEL_ID='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \ PRIVATE_KEY_ARN=$(aws ssm get-parameter --name "line-works-app-private-key-v2" --query 'Parameter.ARN' --output text) \ EXTERNAL_ID='xxxxxx' \ yarn run cdk deploy --no-staging
作成に成功すると次のように出力されます。
lambdafunctionv2arn の値(arn:aws:lambda:…)が新しく作成されたAPI version 2.0 向けの Lambda ファンクションの ARN です。後続の手順で利用するので控えてください。
SoracomButtonIntegrateLineWorksMessageBotExampleStack.lambdafunctionarn = arn:aws:lambda:ap-northeast-1:xxxxxx:function:SoracomButtonIntegrateLineWorks-messagebot50CE31D6-DbDCkiAR49Lr SoracomButtonIntegrateLineWorksMessageBotExampleStack.lambdafunctionv2arn = arn:aws:lambda:ap-northeast-1:xxxxxx:function:SoracomButtonIntegrateLineWo-messagebotv2012AB0245-vpCzt17gQI3S SoracomButtonIntegrateLineWorksMessageBotExampleStack.soracomfunkrole = arn:aws:iam::xxxxxx:role/message-bot-soracom-funk-role
API version 2.0 向けSORACOM Funkの設定追加
こちらの手順で新しいSIMグループを作成し、API version 2.0 向けの AWS Lambda ARNを指定します。
API version 2.0 動作確認
新しいSIMグループに動作確認用の SORACOM LTE-M Button を関連付けし、ボタンを押してLINE Worksにメッセージが届くことを確認します。
メッセージが届かない場合はLambdaファンクションの動作ログやSORACOMのエラーメッセージを確認してください。
SIMのグループ設定変更による切り替え
API version 2.0 の動作を確認できたら、既存のSORACOM LTE-M Buttonの設定を変更してシステムを切り替えます。
切り替えは下記のいずれかの方法で行います。
- SIMの関連付けられているグループを変更する
- API version 1.0 向けグループのSORACOM Funkの呼び出しARNを version 2.0 のものに変更する
以上で LINE Works API version 2.0 への移行は完了です。おつかれさまでした!!
[Deprecated]LINE Works API version 1.0 の設定手順
この手順は LINE Works API version 1.0 時の設定方法です。新規で以下の手順が必要になることはありませんが、記録のために残しておきます。この手順に従って設定しないようにご注意ください。
設定は以下の流れですすめます。
- Bot の設定
- LINE WORKS API の準備
- LINE WORKS グループの作成と Bot の招待
Bot の設定
LINE WORKS の Bot の設定は大きくわけて「1. Developer Console での Bot 作成」、「2. LINE WORKS 管理者画面でのBot 設定」の 2 つのステップに分れます。
1. Developer Console での Bot 作成
LINE WORKS の Developer Console にアクセスし「Bot」をクリックします。
![](/wp-content/uploads/2021/08/developer-console-top-1024x455.png)
Developer Console の Bot メニューで「登録」をクリックします。
![](/wp-content/uploads/2021/08/developer-console-bot-top-1024x455.png)
Bot 登録画面で必須項目を記入しページ下部の「保存」をクリックします。トークルームへの招待は必ずチェックを入れてください。
必須事項を入力しないと「保存」をクリックできないのでご注意ください。
![](/wp-content/uploads/2021/08/developer-console-bot-setting.png)
ダイアログが表示されたら「OK」をクリックします。
![](/wp-content/uploads/2021/08/developer-console-bot-setting-dialog.png)
Bot が追加されていることを確認します。
![](/wp-content/uploads/2021/08/developer-console-bot-top-2.png)
2. LINE WORKS 管理者画面での Bot 設定
LINE WORKS の管理者画面にアクセスし、「Bot」をクリックします。
![](/wp-content/uploads/2021/08/line-works-admin-console-1024x612.png)
Bot 管理画面で「Bot 追加」をクリックします。
![](/wp-content/uploads/2021/08/add-bot-button-1024x360.png)
Bot 追加画面で先程追加した Bot の右側に表示されている「追加」をクリックします。
![](/wp-content/uploads/2021/08/admin-add-bot-1024x375.png)
ダイアログが表示されたら「OK」をクリックします。
![](/wp-content/uploads/2021/08/admin-add-bot-dialog.png)
「前に戻る」ボタンをクリックします。
![](/wp-content/uploads/2021/08/admin-add-bot-back-1024x390.png)
追加した Bot がリストに表示されていることを確認し「Bot No.」を控えます。控えた Bot No. は後の工程で利用します。Bot No. を控えたら Bot 名をクリックします。
![](/wp-content/uploads/2021/08/admin-add-bot-list-1024x284.png)
ダイアログの「修正」をクリックします。
![](/wp-content/uploads/2021/08/admin-bot-detail-dialog.png)
ダイアログ下部(スクロール)の使用権限と公開設定を設定します。この例では LINE WORKS の組織内のすべてのユーザが Bot にアクセスできるようにしています。設定を指定し「保存」をクリックします。
Information:Bot 設定についてはこちらのリンクを参照の上適切に設定ください。
https://guide.worksmobile.com/jp/admin/admin-guide/manage-service/bot/#i-3
![](/wp-content/uploads/2021/08/admin-add-bot-dialog2.png)
LINE WORKS APIの準備
SORACOM LTE-M Button と LINE WORKS Bot を連携するために、以下の LINE WORKS API の認証キーを準備します。
- API ID
- サーバー API のコンシューマーキー
- Server (ID 登録タイプ) の ID と 認証キー
1. API ID の発行
Developer Console にアクセスします。
API ID の「発行」をクリックします。
![](/wp-content/uploads/2021/08/api-id-issue.png)
ダイアログの「OK」をクリックします。
![](/wp-content/uploads/2021/08/api-id-issue-dialog.png)
API ID が表示されます。API ID は後工程で利用しますのでセキュアなところに控えてください。
![](/wp-content/uploads/2021/08/api-id-confirm.png)
注意:API ID は秘密情報なので取扱にはご注意ください
2. サーバー API のコンシューマーキーの取得
API ID に続いてサーバー API のコンシューマーキーを取得します。
Developer Console 画面中程の Server API Consumer Key の「発行」をクリックします。
![](/wp-content/uploads/2021/08/server-api-consumer-key-issue.png)
キーの権限を指定して「次へ」をクリックします。
![](/wp-content/uploads/2021/08/server-api-consumer-key-permission.png)
注意:下記リンクを参照し権限を制限することをご検討ください。
https://developers.worksmobile.com/jp/document/1002005?lang=ja
キーの有効期限を指定し「保存」をクリックします。
![](/wp-content/uploads/2021/08/server-api-consumer-key-expiration-date.png)
ダイアログの「OK」をクリックします。
![](/wp-content/uploads/2021/08/server-api-consumer-key-confirm.png)
サーバー API のコンシューマーキーが表示されます。キーは後工程で利用しますのでセキュアなところに控えてください。
![](/wp-content/uploads/2021/08/server-api-consumer-key-copy.png)
3. Server (ID登録タイプ)の登録と認証キーの取得
サーバー API のコンシューマーキーに続いてServer (ID 登録タイプ)を登録し、認証キーを取得します。
Developer Console 画面中程の Server List (ID 登録タイプ) の「追加」をクリックします。
![](/wp-content/uploads/2021/08/server-id-issue.png)
Server の名称を入力し、「2.サーバーAPIのコンシューマーキーの取得」で作成したコンシューマーキーを選択して「保存」をクリックします。
![](/wp-content/uploads/2021/08/server-id-params.png)
ダイアログの「OK」をクリックします。
![](/wp-content/uploads/2021/08/server-id-save.png)
Server の ID の「コピー」をクリックして ID をコピーし控えておきます。併せて認証キーをダウンロードします。
![](/wp-content/uploads/2021/08/server-id-copy.png)
注意:Server の ID と認証キーは秘密情報です。取扱にはご注意ください。
ダイアログの「OK」をクリックします。
![](/wp-content/uploads/2021/08/server-id-download.png)