サイトアイコン たーちゃんの「ゼロよりはいくらかましな」

【PHP】LINE公式アカウントから全ともだちへ画像を送る

A dining room with a table and chairs

前回、こちらでメッセージ送信の方法について記載したが、

どうやら画像も送れるようだ。

プログラム

<?php
function broadcastImage($accessToken, $imgUrl) {
    $url = 'https://api.line.me/v2/bot/message/broadcast';
    $headers = [
        'Content-Type: application/json',
        'Authorization: Bearer ' . $accessToken
    ];
    $data = [
        'messages' => [
            [
                'type' => 'image',
                'originalContentUrl' => $imgUrl,
                'previewImageUrl' => $imgUrl
            ]
        ]
    ];

    $ch = curl_init($url);
    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($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    $response = curl_exec($ch);
    curl_close($ch);

    return $response;
}

// アクセストークンとメッセージを設定
$accessToken = 'YOUR_ACCESS_TOKEN'; // ここにアクセストークンを入力
$imgUrl = 'https://webhost.com/xxx/yyy.test.jpg';

// メッセージをブロードキャスト
$response = broadcastImage($accessToken, $messageText);
echo $response;
?>

ここで投稿に使用する画像のURL($imgUrl)は、外部からアクセスできるもの、
つまりLINE APIが参照できるものである必要がある。
そのため、localhostなどのサーバーの場合は、URLが参照できず画像の投稿ができないので注意!

 


にほんブログ村


人気ブログランキング

モバイルバージョンを終了