#php #request #telegram #telegram-bot
#php #запрос #telegram #telegram-бот
Вопрос:
Я пытаюсь создать страницу PHP, которая позволяет загружать документ на серверы telegram, а затем восстанавливает file_id, который хранится в json страницы перенаправления. После нескольких руководств по YT это код:
<?php
$botToken = "1099xxxxxx:AxxxE-g9qDI2Uxxxxxxxxxxxxxxxxxxxxxxxx";
$website = "https://api.telegram.org/bot".$botToken;
?>
<form action="<?php echo $website.'/sendPhoto' ?>" method="post" enctype="multipart/form-data">
<input type="text" name="chat_id" value="mychatid">
<input type="file" name="photo">
<input type="submit" value="send">
</form>
Перенаправление после отправки
Цель состоит в том, чтобы повторно получить file_id файла и сохранить его в переменной, возможно, не открывая другую вкладку.
Спасибо!
Комментарии:
1. Что
file_id
? На вашем скриншоте их как минимум 2.
Ответ №1:
Вы отправляете запрос в Telegram API из браузера, отправляя форму непосредственно в него.
Ваш PHP никак не может получить какую-либо информацию из этого API таким образом.
В качестве побочного эффекта вы предоставляете свой токен (который должен храниться в секрете) каждому посетителю, который использует форму.
Вам нужно, чтобы браузер отправил форму в управляемую вами PHP-программу, а затем отправил запрос в Telegram API из вашего PHP, а не из браузера.
Обычный способ сделать это — с помощью библиотеки cURL.
Комментарии:
1. Спасибо, теперь я могу восстановить формат, подобный json, с
$result = curl_exec($curl);
но я хочу получить доступ к реквизиту file_id. Я пытался декодировать с$decoded = json_decode($result, true);
, но, похоже, это не работает. Как я могу это сделать?