Странная ошибка бота Telegram: Неверный запрос: указан неверный идентификатор файла / HTTP URL

Я отправляю сообщение на канал телеграммы с помощью бота.

С использованием метода 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

  • Я искал все связанные темы, я не нашел никакой хорошей информации.

8

Решение

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

  • Невозможно изменить тип файла при повторной отправке по file_id. видео не может быть отправлено как фотография, фото не может быть отправлено как документ и т. д.
  • Невозможно повторно отправить миниатюры.
  • Повторная отправка фотографии по file_id отправит все ее размеры.
  • file_id уникален для каждого отдельного бота и не может быть передан
    от одного бота к другому.
9

Другие решения

Ваш Awnser Вот @farzad

Отправка по file_id
file_id уникален для каждого отдельного бота и не может быть передан от одного бота другому.

7

Если вы перешлите файл (фото, аудио, …) боту, вы получите действительный file_id для этого файла (для вашего бота). Можно безопасно использовать этот идентификатор для отправки файла, но, похоже, он не работает для некоторых файлов (аудио, видео, …) !! (Может быть ошибка API Telegram).

Вы можете скачать и повторно загрузить файл на свой бот, чтобы получить новый file_id и этот идентификатор будет работать.

1

Идти к @webpagebot и отправьте ему URL в файл. Кеш телеграммы будет признан недействительным, и это должно работать. Кажется, это ошибка на сервере.

В моем случае я не мог загрузить изображение (как наклейку), http://.../blabla.webp не через приложение telegram, не через API бота telegram.

0
По вопросам рекламы [email protected]