Мне было интересно, возможно ли, чтобы бот-мессенджер отправил вам ссылку на видео на YouTube и сгенерировал воспроизводимое видео внутри мессенджера так же, как вы можете, если вставите ссылку внутри мессенджера. Прямо сейчас мой бот может отправить сообщение со ссылкой на YouTube, но он просто отправляет его в виде текста, он не создает видео, распознающее заголовок, описание и т. д. Буду признателен за любую помощь.
Как сделать так, чтобы бот facebook messenger отправил вам видео YouTube, встроенное в мессенджер
Ответы (4)
Вы также можете отправить через OpenGraph. Он будет автоматически отображать видео в окне чата m.me, но в мобильном приложении iOS в настоящее время он перенаправляет на страницу YouTube:
curl -X POST -H "Content-Type: application/json" -d '{
"recipient":{
"id":"USER_ID"
},
"message":{
"attachment":{
"type":"template",
"payload":{
"template_type":"open_graph",
"elements":[
{
"url":"https://www.youtube.com/watch?v=y9A1MEbgLyA"
}
]
}
}
}
}' "https://graph.facebook.com/v2.6/me/messages?access_token=$TOKEN"
По состоянию на 01.07.2016 новая документация по API разрешить видеосообщения, если у вас есть URL-адрес фактического файла mp4. Для видео на YouTube этот URL-адрес (намеренно) нелегко получить. Есть некоторые инструменты, такие как youtube-dl, которые получают URL-адрес файла с YouTube, и можно было бы использовать этот URL-адрес с видеосообщением facebook. Эта настройка, конечно, предполагает, что Facebook не блокирует ссылки на видео с YouTube.
Другим подходом может быть создание собственного комбинированного сообщения со ссылкой на миниатюру/видео с использованием "общее шаблонное" сообщение facebook.
Вы можете отправить видео размером ‹= 30 МБ со следующим кодом.
curl -X POST -H "Content-Type: application/json" -d '{
"recipient":{
"id":"USER_ID"
},
"message":{
"attachment":{
"type":"video",
"payload":{
"url":"direct_url_to_video",
"is_reusable":true
}
}
}
}' "https://graph.facebook.com/v2.6/me/messages?access_token=ACCESS_TOKEN"
После этого приведенная выше команда вернет «attachment_id» видео. С этого момента вы можете отправлять видео с attachment_id и никогда не истечет.
curl -X POST -H "Content-Type: application/json" -d '{
"recipient":{
"id":"USER_ID"
},
"message":{
"attachment":{
"type":"video",
"payload":{
"attachment_id": "<attachment_id_here"
}
}
}
}' "https://graph.facebook.com/v2.6/me/messages?access_token=ACCESS_TOKEN"
Я нашел временное решение (видео может истечь). Попробуйте этот сайт: http://catchvideo.net/. Это даст вам воспроизводимую ссылку на видео, которую вы можете использовать для отправки бота в мессенджере в качестве вложения. Надеюсь это поможет!
curl -X POST -H "Content-Type: application/json" -d '{
"recipient":{
"id":"USER_ID"
},
"message":{
"attachment":{
"type":"video",
"payload":{
"url":"THE_LINK_FROM_WEBSITE_ABOVE" (example: https://redirector.googlevideo.com/videoplayback?itag=18.....)
}
}
}
}' "https://graph.facebook.com/v2.6/me/messages?access_token=ACCESS_TOKEN"