我想知道是否有可能让messenger机器人向您发送youtube视频链接并在Messenger中生成可播放的视频,就像您在信使中粘贴链接一样。现在我的机器人可以发送带有youtube链接的消息,但它只是将其作为文本发送它不会生成识别标题,描述等的视频。任何帮助将不胜感激。
答案 0 :(得分:9)
您也可以通过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"
答案 1 :(得分:6)
截至2016年7月1日,新的API docs允许视频消息,假设您已获得实际mp4文件的网址。对于YouTube视频,该网址(故意)不容易到达。有一些工具,比如youtube-dl,可以从YouTube获取文件的网址,并且可以将该网址用于Facebook视频消息。这个设置当然是假设facebook没有为youtube视频链接设置任何阻止。
另一种方法是使用"generic template" facebook message制作您自己的组合缩略图/视频链接消息。
答案 2 :(得分:1)
您可以使用以下代码发送尺寸<= 30MB的视频。
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"
答案 3 :(得分:0)
我找到了一个临时解决方案(视频可能会过期)。试试这个网站: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"