LINE Messaging APIを始めてみる

すでに多くの方が記事を書いていますが、自分への覚書も兼ねてメモしておきます。

LINE Notifyのサービス終了に伴い、LINE Messaging APIに移行しましたので、プログラムで必要なアクセストークンを発行する手順です。
手順は以下の公式サイトに従い、LINEアカウントは既に持っている前提で進めます。

[LINE Messaging APIの始め方](https://developers.line.biz/ja/docs/messaging-api/getting-started/)

# LINE公式アカウント(ビジネスアカウント)の作成

[LINEビジネスID登録](https://account.line.biz/signup?redirectUri=https://entry.line.biz/form/entry/unverified) からLINEアカウントでログインします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120903/fd578485-9fa4-4d7b-98ba-fc2168378beb.png)

ログインすると、「会社・店舗情報」の登録フォームとなりますので、必要事項を記入して登録します。
業種は好きなものを選択して問題はありません。(筆者は「個人」としました)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120903/f16aeb23-836d-4719-ac23-45fc39871255.png)

作成したアカウントは [LINE Official Account Manager](https://manager.line.biz/account/@233atcmo?_gl=1*1jovhdp*_ga*MjA5ODQwODQ2NC4xNzM5MTkzMzU4*_ga_LRN9K71PXW*MTc0MzgwMDA0Ni4zLjEuMTc0MzgwMDUyNS40OC4wLjA.) で確認ができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120903/d8ff3995-1056-4c61-80e6-87be1056007d.png)

# LINE公式アカウントでMessaging APIを有効にする

[LINE Official Account Manager](https://manager.line.biz/account/@233atcmo?_gl=1*1jovhdp*_ga*MjA5ODQwODQ2NC4xNzM5MTkzMzU4*_ga_LRN9K71PXW*MTc0MzgwMDA0Ni4zLjEuMTc0MzgwMDUyNS40OC4wLjA.) の右上の"設定"をクリックして設定画面を開きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120903/3a95cd14-3470-48e6-8c50-7d743e6496c4.png)

設定画面左の「Messaging API」を選択し、「Messaging APIを利用する」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120903/5a8cc72f-a257-4a9c-9920-b7b1a25b9b7e.png)

プロバイダ名を選択し、"同意" "OK"をクリックしMessaging APIの利用を開始します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120903/7630a7b4-1cbc-4ee2-8a4d-d220b6a1d1fd.png)

# ボットを作成する

[LINE Developersコンソール](https://developers.line.biz/console/)にログインします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120903/090a77dc-26ee-4988-a53f-2ca8e2636cf0.png)

チャネルを選択し、「Messaging APIの設定」を選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120903/6839c861-a593-43db-b7c0-aeb630cd2421.png)

下にスクロールして「アクセストークン(長期)」の「発行」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120903/6ccfc942-ce8f-4d69-9377-dc7aadf6d81b.png)

発行されたアクセストークンはプログラムで使用しますのでコピーして記録しておきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120903/551aeb31-3c46-42ca-988d-decb4641b0f5.png)

# LINE公式アカウントを友だち追加する

Messaging API設定にあるQRコードをLINEアプリで読み込んでMessaging APIチャネルに紐づけたアカウントを友だちに追加します。作成したプログラムで送信したメッセージはこの「友だち」から届きます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/120903/a9a1d746-b554-4236-afc8-634f8d76fe66.png)

# メッセージを送信する

あとは、生成した文字列をプログラムから送信するとメッセージがLINEアプリに届きます。

~~~c++:文字列生成
  // JSONペイロード
  String payload = "{\"messages\":[{\"type\":\"text\",\"text\":\"";
  payload += message;
  payload += "\"}]}";

  // HTTPリクエスト
  String request = "POST /v2/bot/message/broadcast HTTP/1.1\r\n";
  request += "Host: ";
  request += "api.line.me";
  request += "\r\n";
  request += "Authorization: Bearer ";
  request += accessToken;
  request += "\r\n";
  request += "Content-Type: application/json\r\n";
  request += "Content-Length: ";
  request += String(payload.length());
  request += "\r\n\r\n";
  request += payload;

~~~

以上、LINE Messaging APIの始め方でした。