サイドスリーブログ

LINEボット(Messaging API+Talk API+HEROKU)作ってみました!②


                LINEボット(Messaging API+Talk API+HEROKU)作ってみました!②

前回のメインのプログラムを配置するHEROKU(ヘロク)紹介に続き、今回はLINE社が提供している「Messaging API」を紹介します。

Messaging APIとは?

LINEユーザと双方向のコミュニケーションを実現可能にする、LINE社が提供しているAPIです。
実際にこのAPIでどんな事ができるかということ、LINEユーザに直接テキストや、写真、動画、位置情報などの情報をメッセージを送れます。もちろんLINEユーザのメッセージを受け取ることもできます。また、グループチャットにメッセージを送れたり、ユーザープロフィールの情報取得やリッチメニューの使用、Beacon(ビーコン)を利用することも可能です。

このLINEユーザにメッセージを送る、受け取る機能(Messaging API)を利用すると、自動応答のLINEボットを簡単に作ることができます。
Messaging APIの利用は、開発者向けのポータルサイト「LINE Developers」のサイトから行えます。
まずは、「LINE Developers」にログインする方法から紹介していきます。

LINE Developers ログイン方法

LINE Developers にログインするには、LINEアカウントにメールアドレスとパスワードの登録を行っておく必要があります。

LINEアカウントの設定ができたら、LINE Developersにログインしてみましょう。

LINEアカウントにメールアドレス、パスワードの設定ができたら、その情報でLINE Developersにログインしてみましょう。

ログインできると、開発者情報の入力画面が表示されるので登録しましょう。

「開発者名」はDevelopersのコンソール上で表示される名称です。
「メールアドレス」はDevelopersのコンソール上で使用されるアドレスです。

開発者情報の登録が済んだら、続いてMessaging APIの利用に必要なアクセストークンの発行を目指します。
アクセストークンの取得には、プロバイダー、チャンネルの作成が必要なので順番に作成していきます。

LINE Developers プロバイダーの作成

プロバイダーとは、アプリを提供する個人・組織のことを指します。
作成は簡単です。「新規プロバイダー作成」ボタンから行えます。

入力するのはプロバイダー名だけです。
これでプロバイダーが作成できたら、続いてMessaging APIを利用するためのチャンネル(通信路)を作成します。

LINE Developers チャンネルの作成

チャンネルの作成はプロバイダーリストから作成したプロバイダーを選択して行います。
「チャンネル作成する」ボタンからチャンネルの作成を行います。

必要な情報を入力してチャンネルを作成しましょう。
「メールアドレス」は重要なお知らせと最新のニュースが届くアドレスとして使用されます。
「アプリアイコン画像」「プライバシーポリシーURL」「サービス利用規約URL」の入力は任意となっています。

チャンネルの作成ができるとMessaging APIの利用に必要なアクセストークンの発行を行うことができます。
アクセストークンの発行はチャンネル基本設定から行えるのでアクセスしてみましょう。

アクセストークンの発行

チャンネル基本設定にアクセスしたら、そのページに「アクセストークン(ロングターム)」の項目があるので、この項目の「再発行」ボタンからアクセストークンを発行します。

アクセストークンの有効期限ですが「(?)アイコン」から非常に長期的なアクセストークンと説明されていますが、公式ドキュメントには「効期間は非常に長く、期限切れを考慮する必要がありません」と記載されているので、期限は気にしなくてよさそうです。
実際に「再発行」を行うと以下のようなコードが生成されます。

これでアクセストークンの取得完了です。
それでは、取得できたアクセストークンを使ってMessaging APIが実際に利用できるか試してみましょう。

Messaging API を使ってプッシュメッセージを送る

Messaging API を利用したプログラムを用意して、友達追加したLINEユーザにプッシュメッセージを送ってみます。
プログラムは前回の記事で用意したHEROKUサーバが使えます。

まずは、アプリの登録、友達追加を行っておきます。
先ほどのチャンネル基本設定に「LINEアプリへのQRコード」があるので、このQRコードから友達追加しておきます。

それでは、以下のプログラムをサーバに設置して、プログラムからLINEユーザにメッセージが送信できるか確認してみましょう。

PHP


$access_token = '<アクセストークン>';

$post_data['messages'][] = array(
  'type' => 'text',
  'text' => 'てすとめっせーじ'
);

$ch = curl_init('https://api.line.me/v2/bot/message/broadcast');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
  'Content-Type: application/json; charser=UTF-8',
  'Authorization: Bearer ' . $access_token
));

$result = curl_exec($ch);
curl_close($ch);

プログラムの設置ができたらアクセスしてプログラムを実行してみましょう。

こんな感じにメッセージが通知されれば成功です。

まとめ

今回はLINE社が提供している「Messaging API」を紹介しました。
プログラムは簡単なテキストメッセージの送信でしたが、写真や位置情報を送信したりと色々できるので、LINE Developersのドキュメントを参考に色々試すと面白いのではないでしょうか。

次回は、Messaging APIとリクルートテクノロジーズ社のTalk APIを連携させて自動応答のLineボット作成を紹介する予定です。お楽しみに!