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プログラム:スタンプ送信編)







