Как получить публичную ссылку на изображение с чата Телеграм?

Я пытаюсь получить изображение из Телеграм канала, в котором находится бот и который может видеть сообщение. Код ниже работает и изображение выводятся, но проблема в том, что такие изображение публично выводить на своем сайте например не получится, так как ссылка на изображение состоит из токена бота, например

https://api.telegram.org/file/bot88**************/photos/file_15.jpg

насколько я понимаю, публично выкладывать токен бота не безопасно.

Каким образом я могу выводить изображение с публичной ссылкой.

Единственный вариант, который приходит мне на ум, это сохранять фотографии на своем сервере, а уже оттуда выводить, но этот вариант на крайний случай.

$token = '88**************';    

$apiUrl = "https://api.telegram.org/bot$token/getUpdates";
$response = file_get_contents($apiUrl);
$data = json_decode($response, true);


if($data['ok'] && !empty($data['result'])) {
    $resultArray = $data['result'];
        foreach($resultArray as $row ) {
                //текстовое сообщение
            if(!empty($row['message']['text'])) {
                echo $row['message']['text'].'<br>';
            }

            // поучаем фото
            if(!empty($row['message']['photo'])) {
                $rowPhoto = $row['message']['photo'];

                $file_id = $rowPhoto[2]['file_id'] ?? $rowPhoto[0]['file_id'];

                $photoUri = "https://api.telegram.org/bot$token/getFile?file_id=$file_id";
                $phoroRes = file_get_contents($photoUri);
                $photoData = json_decode($phoroRes, true);


                $file_path = $photoData['result']['file_path'];

                $imageUrl = "https://api.telegram.org/file/bot$token/$file_path";

                echo "<img src=\"$imageUrl\" alt=\"Telegram Image\">";
                echo "<br>". $row['message']['caption'];

            }
        }
}

UPD

Можно преобразовать в base64

data: ;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAQDAwQDAwQEAwQFBAQFBgoHBgYGBg0JCggKDw0QEA8NDw4RExgUERIXEg4PFRwVFxkZGxsbEBQdHx0aHxgaGxr/2wBDAQQFBQYFBgwHBwwaEQ8RGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhr/wAARCABcAyADASIAAhEBAxEB/8QAHQAAAwEAAwEBAQAAAAAAAAAAAAgJBwQFBgMBAv/EAGMQAAEDAwIDAwgEBgoJEAsBAAECAwQABREGBwgSIRMxQQkUIjdRYXa0FTh1syMy 

Но опять, безопасно ли это ?

        $rowPhoto = $row['message']['photo'];

        $file_id = $rowPhoto[2]['file_id'] ?? $rowPhoto[0]['file_id'];

        $photoUri = "https://api.telegram.org/bot$token/getFile?file_id=$file_id";
        $phoroRes = file_get_contents($photoUri);
        $photoData = json_decode($phoroRes, true);


        $file_path = $photoData['result']['file_path'];

        $imageUrl = "https://api.telegram.org/file/bot$token/$file_path";

        $imageData = base64_encode(file_get_contents($imageUrl));

        $src = 'data: '.';base64,'.$imageData;
       

        echo "<img src=\"$src\" alt=\"Telegram Image\">";
        echo "<br>". $row['message']['caption'];

Ответы (0 шт):