ブロードキャストメッセージを送信する方法
ともだち登録されている全員に対してテキストメッセージを送信する例を紹介します。
今回、利用するAPIはこちらです。
全員にメッセージを送るので、宛先情報は必要ありません。そのため、メッセージを送信するための流れをもっとも簡単に試す事ができます。
まず、送信するメッセージをJSON形式で用意します。今回は、リスト1のような簡単なテキストメッセージを同時に2つ送信します。このメッセージを送信した場合のLINEアプリでの表示例が図4です。
{ "messages": [ { "type": "text", "text": "こんにちは!初めてのメッセージです" }, { "type": "text", "text": "これは二通目のメッセージです" } ] }
また、このメッセージを送信する簡単なPHPのコードがリスト2です。
$json_messages = json_encode("...."); // 送信するメッセージ $options = [ 'http' => [ 'method' => 'POST', 'header' => [ sprintf('Authorization: Bearer %s','<チャネルアクセストークン>'), // (1) 'Content-type: application/json', // (2) ], 'content' => $json_messages, // (3) // 省略 ), // 省略 )] $response = file_get_contents('https://api.line.me/v2/bot/message/broadcast',false,stream_context_create($options)); $json = json_decode($response,true);
(1)では[チャネルアクセストークン]を設定しヘッダを作成します。そして、(2)でContent-TypeをJSON形式に設定します。
POSTするデータに先ほどのJSON形式のメッセージ文字列を(3)のように設定すれば、送信が可能です。
プッシュメッセージを送信する
続いて、特定の1人のユーザに対してメッセージを送信してみます。今回、利用するAPIはこちらです。
基本的に先ほどとほとんど同じですが、宛先を指定する必要があり、リスト3のようにメッセージ本文を作成します。
{ "to": "U7bba01aa......e3f4791864b0", "messages": [ { "type": "text", "text": "あなただけへのメッセージです" } ] }
toに指定するのはユーザIDです。ユーザIDは前回紹介したLINEアカウントのプロフィール取得APIでのUserIDを使用しました。または、後述するメッセージ受信時に取得できますので、そこで取得したユーザIDを利用してください。
また、メッセージを送信する際には、先ほどと同様にリスト4のように送信します。
$json_messages = json_encode("...."); // 送信するメッセージ $options = [ 'http' => [ 'method' => 'POST', 'header' => [ sprintf('Authorization: Bearer %s','<チャネルアクセストークン>'), 'Content-type: application/json', ], 'content' => $json_messages, // 省略 ), // 省略 )] $response = file_get_contents('https://api.line.me/v2/bot/message/push',false,stream_context_create($options)); $json = json_decode($response,true);