
LINEのBOT APIが公開されました。
正確には、LINEのBOT APIですね。(しかもまだトライアル)
LINE@などと違い、特に審査なしで個人でも使えるので、個人で遊んでみたい方にはピッタリかな思います。
現在はトライアル版で先着10,000名まで利用させてくれるそうなので、気になる方はお早めに。
では、LINE BOT APIを利用できるようになるまでの登録手順から簡単なサンプルまでをどうぞ!
追記
上限に達したためトライアル版の提供が終了しました。
今後正規版がアナウンスされると思いますので、また追って連絡します。
目次
BOT APIでできること
基本的には、相手からの送信を待って、
送ってくれたユーザに対して、何かしらの返信アクションを取るものです。
BOTというだけあって自動返信が基本です。
不特定多数に送るものではありません。
まぁ、メッセージを送ってくれたユーザの情報を記録してストックしていけば、近いことはできるかもしれませんが、あまり現実できではありませんね。
有名人のLINEとかにある、自動返信(BOT)を個人でも気軽に使えるようになるというイメージで良いかと思います。
BOT APIを利用する条件
LINEのBOT APIを利用できる条件は基本的には以下の2つです。
- LINEアカウントを持っている。
- SSL接続できるサーバーがある。(コールバック用URLはSSLのみ許可されています。)
また、現在はトライアル版で、先着10,000名様まで使わせてくれるようなので、気になる方はお早めに。
10,000名を超えるとどうなるかは知りません。
BOT APIに登録
(トライアル版)への登録手順を画像をペタペタ貼り付けて紹介していきます。
まずは、登録ページにアクセス。
→ BOT API Trial Accountのご紹介 | LINE BUSINESS CENTER
スクロールしていって下の方にある「利用開始」ボタンをクリック。
LINEアカウントでのログインが求められます。入力して「ログイン」。
スマホ等でLINEアプリを起動し、本人確認を行ってください。
アカウント作成用のメールアドレスを登録します。(LINEのアカウントで利用しているアドレスと異なっても大丈夫です。)
登録したメールアドレスに確認用のメールが送られてきます。
「LINE Business Center 登録用URL」をクリック。
個人情報を登録する画面が開きます。
必須の箇所を入力して「確認ボタン」をクリック。
登録が完了しました!
TOPへ戻ってください。
これで個人の登録は完了です!
ビジネスアカウントの設定
個人の登録は完了したした。
が、Developer Toolを使うには、ビジネスアカウントが必要です。
TOPの真ん中にある「ビジネスアカウントを作成するボタン」をクリックします。
写真とアカウント名を登録するだけで作ることができます。
登録できたら、BOT API Trial Accountの「始める」ボタンをクリック。
また、スクロールして下の方にある「利用開始」ボタンをクリックします。
必要な値の取得
ビジネスアカウントで「利用開始」をクリックすると、BOT API Trial Accountと紐づけるページに飛ぶはずです。
「Create」ボタンで作りましょう。
登録完了すると、大事な情報がのったページに飛びます。
大事なのは、以下の3点。
- Channel ID
- Channel Secret
- MID
LINEのサーバーとやり取りするときに使用するものです。
いつでも見れるのでメモする必要はありません。
大事な値なので誰にも教えてはいけませんよ!
ここまでが、LINE BOT APIを利用するために必要な登録作業になります。
必要な設定
つまずきやすいポイントを先にあげておきます。
わたしが実際に困ったところでもあります。
コールバックURLはセキュアなタイプじゃないとダメ
httpsのようにsslなどで暗号化されたurlじゃないと登録できません。
ですので、LINE APIを利用したい方は、https通信できる環境を用意しましょう。
コールバックURLの登録場所は、値が載っているページと同じです。
下のほうにある「Edit」ボタンを押して登録します。

あと、Callback URLにポートも必ず指定する必要があります。
詳しくないのですが、暗号化された通信の場合はデフォルトが「443」になるんですかね?LINEの例も443だったし、わたしも443でできました。
ちなみに、ポートの書き方は、「https://hogehoge.com:433/hoge.php」みたいな書き方です。
サーバーのIPアドレスを伝える
もう一つ。
コールバックで設定したURLのIPアドレスを伝えてあげる必要があります。
URLというかそのファイルが置かれているサーバーのIPアドレスですね。
登録は、左上にある「Server IP Whitelist」ってところから行えます。
ここにサーバーのIPアドレスを入力しましょう。

LINE BOT APIの使い方
ここまでやってやっと利用できるようになります。
ではコードを書いていきましょう。
(わたしはPHPしか使えないのでPHPで書いていきます)
LINE BOT APIの仕様が載ったドキュメントは以下のあたりにあります。
LINE Developers – BOT API – Overview
全部英語ですが、なんとなくで分かるはずです!
メッセージのコンテンツの内容を返信するBot
まったく捻りがないですが、メッセージ内容の種類を取得してそれを返信するというBotをサンプルとして作りました。
テキストメッセージなら、「Text Message」返信。
画像なら、「Image message」といった具合に。
ソースは以下です。
ざっくり解説すると、メッセージが送られてきたときにこのプログラムが実行され、php://input
にLINEからのデータが入ります。(この書き方は今回初めてしりました。)
JSONを解析して必要な情報を受け取り、ヘッダーやボディに内容を付加してPOSTでLINEのサーバーに送り返しているといった流れです。
<?php
/* アカウント情報 */
$channel_id = "[自分のChannel ID]";
$channel_secret = "[自身のChannel Secret]";
$mid = "[自分のMID]";
/* 送られてきたメッセージの情報を取得 */
$receive = json_decode(file_get_contents("php://input"));
$text = $receive->result{0}->content->text;
$from = $receive->result[0]->content->from;
$content_type = $receive->result[0]->content->contentType;
/* 返信 */
$header = ["Content-Type: application/json; charser=UTF-8", "X-Line-ChannelID:" . $channel_id, "X-Line-ChannelSecret:" . $channel_secret, "X-Line-Trusted-User-With-ACL:" . $mid];
$message = getContentType($content_type);
sendMessage($header, $from, $message);
/* メッセージを送る */
function sendMessage($header, $to, $message) {
$url = "https://trialbot-api.line.me/v1/events";
$data = ["to" => [$to], "toChannel" => 1383378250, "eventType" => "138311608800106203", "content" => ["contentType" => 1, "toType" => 1, "text" => $message]];
$context = stream_context_create(array(
"http" => array("method" => "POST", "header" => implode(PHP_EOL, $header), "content" => json_encode($data), "ignore_errors" => true)
));
file_get_contents($url, false, $context);
}
/* コンテントタイプの種類分け */
function getContentType($value) {
$content_type = "";
switch($value) {
case 1 :
$content_type = "Text message";
break;
case 2 :
$content_type = "Image message";
break;
case 3 :
$content_type = "Video message";
break;
case 4 :
$content_type = "Video message";
break;
case 7 :
$content_type = "Location message";
break;
case 8 :
$content_type = "Sticker message";
break;
case 10 :
$content_type = "Contact message";
break;
default:
$content_type = "unknown";
break;
}
return $content_type;
}
動作画面としてはこんな感じです。
アイデアがあれば色々楽しめそうですね。
まとめ
LINE BOT APIの登録手順から簡単な使い方まで紹介しました。
色々試して遊んでくださいね!