LINE オウム返し BOT を Microsoft FLOW でコーディングなしで作成

LINE オウム返し BOT を Microsoft FLOW でサクっと作ります。
コーディング不要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/54b397bd-01a7-dc62-e2ed-5dea453e35e4.png)


##LINE Developers コンソール

LINE Messaging API を利用するため、LINE Developers コンソールでチャネルを作成しましょう。こちらのドキュメントを参照します。

TITLE: Messaging APIを利用するには
URL: https://developers.line.biz/ja/docs/messaging-api/getting-started/

"自動応答メッセージ" は "利用しない" に設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/035bfa1d-c281-413b-3236-4775b008799f.png)


##Microsoft Flow
Microsoft Flow でコーディングなしで Bot を作成します。
https://flow.microsoft.com/ja-jp/

Microsoft Flow の概要や使い方はこちらが参考になります。
https://docs.microsoft.com/ja-jp/learn/modules/get-started-with-flow/

###フローの作成
"HTTP 要求の受信時" をトリガーに指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/27dcf45b-f789-5d70-d039-527484736623.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/e0336eab-f2bf-2dde-a94e-0403db986e2e.png)

"サンプルのペイロードを使用してスキーマを生成する" をクリックします。

サンプルとして、こちらのドキュメントにあるペイロードを利用します。
https://developers.line.biz/ja/reference/messaging-api/

"Webhookイベントオブジェクトの例" を用います。

```
{
  "destination": "xxxxxxxxxx", 
  "events": [
    {
      "replyToken": "0f3779fba3b349968c5d07db31eab56f",
      "type": "message",
      "timestamp": 1462629479859,
      "source": {
        "type": "user",
        "userId": "U4af4980629..."
      },
      "message": {
        "id": "325708",
        "type": "text",
        "text": "Hello, world"
      }
    },
    {
      "replyToken": "8cf9239d56244f4197887e939187e19e",
      "type": "follow",
      "timestamp": 1462629479859,
      "source": {
        "type": "user",
        "userId": "U4af4980629..."
      }
    }
  ]
}
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/405db5c1-d069-2ea0-16fd-f8a58f57eb6e.png)

"+ 新しいステップ" をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/4c4646b7-cad9-8439-bfd1-3e6d798cfeaf.png)

"HTTP" をアクションに指定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/49feb8d1-4c14-82d9-3c26-99e24e0fb79b.png)

こちらのドキュメントの情報を基に "HTTP" アクションのパラメータを設定します。
https://developers.line.biz/ja/reference/messaging-api/#send-reply-message

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/b971c620-d8fd-4a67-7bef-c5fdd6ad254e.png)

方法: POST
URI: https://api.line.me/v2/bot/message/reply
ヘッダー: 
Content-Type application/json
Authorization Bearer {channel access token}

{channel access token} は Developers Console で生成したアクセス トークンを記述します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/3922713d-d2f3-4787-8f5a-f04ced731ebe.png)

本文:
JSON ペイロードは、前述の URL のページの情報を基に記述します。

```
{
    "replyToken":"[replyToken]}",
    "messages":[
        {
            "type":"text",
            "text":"[text]}"
        }
    ]
}
```

[replyToken] と [text] は、トリガーに指定した "HTTP 要求の受信時" に関連した動的なコンテンツから指定します。この指定により "Apply to each" が自動的に追加されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/eaa5ed2f-06b4-04bb-9e08-05d3c1395443.png)

"保存" をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/dda23ef9-a35d-a2e6-b0b0-917613c898e4.png)

"HTTP 要求の受信時" の HTTP POST の URL が生成されます。この URL を LINE Developers コンソールで "Webhook送信" を "利用する" に変更し、"Webhook URL" を記述します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/e2826b87-6993-092b-0e00-ba3bffcb24cb.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/28a51f4a-3732-b6a0-d559-cc49a2747733.png)

## 動作確認

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/38462ed6-6dd1-c8e9-1758-145f641cd7f2.png)

LINE Developers の QR コードを読み取って、友達に追加します。

トークを送って、Bot から返信があることを確認します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/396107/54b397bd-01a7-dc62-e2ed-5dea453e35e4.png)