LINE BOTを使ってみよう。(CallBackプログラム:テキスト送信編)

2018-04-28PHP

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

 

株式会社システムトラスト

人材募集中です。

システムトラストでは、システムエンジニア、プログラマーなどを随時募集中です。気軽にご相談ください。

お問合せ