LINE BOTを使ってみよう。(CallBackプログラム:テキスト送信編)
サーバからLINEに対してテキスト送信を実施しようと思います。
送信するには用意されたAPIを実行することで送信は行えます。
送信先、送信メッセージはイベントオブジェクトで設定します。
テキスト送信
API
https://api.line.me/v2/bot/message/push
イベントオブジェクト
{ "to": 送信したい相手のユーザID, "messages":[ { "type":"text", "text":送信したいメッセージ1 }, { "type":"text", "text":送信したいメッセージ2 } ] }
messagesは、カンマ区切りで複数送信することが可能となっています。
この送信方法は、1人に送信する方法となっています。
複数人に送信を行いたい場合は、APIの最後が「push」となっている部分を
「multicast」に変更することで、ユーザIDをカンマ区切りで複数指定することができます。
複数の人に送る場合
API
https://api.line.me/v2/bot/message/push
イベントオブジェクト
{ "to": [Aさん(ユーザID),Bさん(ユーザID),・・・・], "messages":[ { "type":"text", "text":送信したいメッセージ1 }, { "type":"text", "text":送信したいメッセージ2 } ] }
サンプルソース
// メッセージ $messeage_data = [ "type" => "text", "text" => メッセージ ]; // ポストデータ $post_data = [ "to" => 送信先ユーザID, "messages" => [$messeage_data] ]; // curl実行 $ch = curl_init("https://api.line.me/v2/bot/message/push"); 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, JSON_UNESCAPED_UNICODE )); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json; charser=UTF-8', 'Authorization: Bearer ' . 自分のアクセストークン )); $result = curl_exec($ch); $result = json_decode($result); curl_close($ch); if( isset($result->message) ){ // エラー処理: $result->messageにエラーメッセージが入っている。 }
テキスト送信処理の基本はこのような感じです。
次は、スタンプ送信処理を作っていくことにします。
[前の記事]LINE BOTを使ってみよう。(CallBackプログラム:受信編)
[次の記事]LINE BOTを使ってみよう。 (CallBackプログラム:スタンプ送信編)