Я отправляю сообщение на канал телеграммы с помощью бота.
С использованием метода webhook.
Я отправляю file_id по ссылке. Я получил file_id из сообщения на канале.
Для некоторых файлов, таких как GIF & формат видео (MP4),
когда я использую этот код:
$url = 'https://api.telegram.org/bot'.token.'/sendVideo?chat_id='.uid."&video=".$file."&caption=".urlencode($caption);
file_get_contents($url);
я получаю такую ошибку:
{"ok":false,"error_code":400,"description":"Bad Request: wrong file identifier/HTTP URL specified"}
Я действительно не знаю, почему я это понимаю,
Как будто это случайно для ошибок, потому что код, я думаю, не зависит ни от чего.
Я использую file_id, полученный из поста канала.
В чем причина этой ошибки?
Неверный запрос: указан неверный идентификатор файла / HTTP URL
Есть много возможных причин для этого, как указано в документация:
Ваш Awnser Вот @farzad
Отправка по file_id
file_id уникален для каждого отдельного бота и не может быть передан от одного бота другому.
Если вы перешлите файл (фото, аудио, …) боту, вы получите действительный file_id
для этого файла (для вашего бота). Можно безопасно использовать этот идентификатор для отправки файла, но, похоже, он не работает для некоторых файлов (аудио, видео, …) !! (Может быть ошибка API Telegram).
Вы можете скачать и повторно загрузить файл на свой бот, чтобы получить новый file_id
и этот идентификатор будет работать.
Идти к @webpagebot и отправьте ему URL в файл. Кеш телеграммы будет признан недействительным, и это должно работать. Кажется, это ошибка на сервере.
В моем случае я не мог загрузить изображение (как наклейку), http://.../blabla.webp
не через приложение telegram, не через API бота telegram.