📖

CMPを利用してLINEに投稿する Logic App設定編

2022/06/16に公開

この記事ではContent Hubで作成したコンテンツをLINEに発行するまでの手順のうち、Logic Appsで必要な設定を記載します。

今回は、以下の状況で実施します。

  • Windows10
  • Visual Studio 2019 Professional
  • Azure Subscription 作成済

Visual Studioに Logic Apps Toolを追加

Visual Studioのメニュー[拡張機能] > [拡張機能の管理]より Azure Logic Apps Tools for Visual Studio 2019(以下URL)をインストールします。
https://marketplace.visualstudio.com/items?itemName=VinaySinghMSFT.AzureLogicAppsToolsForVS2019

こちらをインストールすると、Azure Portal同様にGUIでLogic Appsを構築することが可能になります。

Logic Appの定義ファイルを取得

以下のレポジトリよりコードを取得してください。
https://github.com/taito-Fujii/ContentHubLogicApps

slnファイルを開き、LogicApp.jsonで右クリック > ロジックアプリデザイナーで開く を選択すると以下の様に表示されます。

処理説明

まずはContent Hubと接続するという点を優先しますが、大まかに処理の構成を説明と、接続情報・Tokenなど個別に設定が必要な箇所を補足します。

1 トリガー設定

Azure Service Busをトリガーとして起動します。
Content Hub設定編で利用した接続するも文字を設定する必要があります。設定方法は以降に記載します。

2 変数初期化フロー

Content Hubから送信された変数を取得します。
URLやtokenなど再度Content HubをCallする際に利用するものです。

3 Content HubよりCMP情報を取得

コンテンツ情報を取得するためContent HubをCallします。
その後、取得したレスポンスより利用する情報を抽出します。

4 LINE Messaging APIをCallする

取得した情報を元に、LINE Messagin APIをCallします。
なお、Callする際のLine Tokenを更新する必要があります。
以降で、AzurePortalでTokenを更新する方法をご説明します。

Azureに配置

ソリューションファイルを右クリックし > 配置 > 新規作成を選択します。

そこにパラメータの編集を選択して、空欄の箇所を入力します。

  • PublishLINEName > ここでは cmp2line と設定します
  • servicebus_2_connectionString > Content Hubで設定したAzure Service Busの接続文字列 (Endpoint=sb:// で始まる文字列

最後に、「パスワードをプレーンテキストとしてパラメータファイルに保存する」にチェックして保存 > 配置 を選択します。

出力ウィンドウに下記のようなログが表示されていたらデプロイ成功です。

Azure Portalでの配置イメージ

Line Tokenを設定

Azure Portalで作成したLogic Appsに遷移し > ロジック アプリ デザイナ- > パラメータ > lientokeの項目にLINE Developer Consoleで取得したTokenを設定します。

こちらで設定が完了しました。

Content Hubよりテスト実行

作成したコンテンツをApproveします。
そうすると設定したTriggerに反応し、Logic Appsに通知されます。

しばらくすると下記のようなメッセージが届けば成功です。

参考

レイアウト変更

今回のLINEメッセージはテキストだけでしたが、メッセージのレイアウトを様々な表示に変更できます。その際は以下のツールを利用するとわかりやすいです。
https://developers.line.biz/flex-simulator/

今回は利用していませんが、コンテンツ作成時に添付した画像urlをLogicAppsの変数 [imageurl]として格納しています。こちらを用いることで、画像付きのメッセージの作成も可能です。

レイアウトの変更、タイマー設定などよりビジネスシナリオに沿った形も設定によって対応可能な構成となってます。またタイミングを見て具体的な方法をご紹介いたします。

Discussion