LINE BOTを使ってみよう。 (CallBackプログラム:画像送信編)
今回は画像の送信を行います。
画像送信
画像を送信するには、2種類のサイズの画像を用意する必要があります。
サイズは以下の2種類です。
最大画像サイズ:1024×1024
最大画像サイズ:240×240
ファイル容量は2つとも1MB以下という制約があります。
また、画像の種類はjpgのみです。
イベントオブジェクト
{ "to": 送信したい相手のユーザID, "messages":[ { "type" => "image", "originalContentUrl" => 1024×1024 サイズのファイルパス, "previewImageUrl" => 240×240 サイズのファイルパス } ] }
APIは、テキスト送信と同じものを使用しています。
単純にオブジェクトのタイプが変わるだけのようです。
サンプルソース
// メッセージ $messeage_data = [ "type" => "text", "text" => $message ]; // 画像 $picture_data = [ "type" => "image", "originalContentUrl" => 大きい方のファイルパス, "previewImageUrl" => 小さい方のファイルパス ]; // ポストデータ $post_data = [ "to" => $user_id, "messages" => [ $messeage_data, $picture_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を使ってみよう。 (Failed to send messages)