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)







