如何让Facebook Messenger机器人向你发送在Messenger中嵌入的YouTube视频

12

我想知道是否可能让Messenger机器人向你发送YouTube视频链接并在Messenger内生成一个可播放的视频,就像你在Messenger中粘贴链接一样。目前,我的机器人可以发送带有YouTube链接的消息,但它只是将其作为文本发送,而不会生成识别标题、描述等的视频。任何帮助都将不胜感激。


我猜这需要能够像机器人自动发送的那样“解析”YouTube链接 :( 现在还没有办法做到这一点。 - user151496
4个回答

10
您还可以通过OpenGraph发送。它将自动在m.me聊天窗口内显示视频,但在移动iOS应用中,目前会重定向到YouTube页面。

您还可以通过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"

这是正确的答案。https://developers.facebook.com/docs/messenger-platform/open-graph-template - baquiax
如何在Dialogflow中使用它? - Shajeel Afzal
自V4.0(2019)起,Open Graph模板已被弃用。现在我们该怎么做? - kio21

8
截至2016年7月1日,新的API文档允许视频消息,假设你有实际mp4文件的URL。对于YouTube视频,该URL不容易获得。有一些工具,例如youtube-dl,可以从YouTube获取文件的URL,并且可以将该URL与Facebook视频消息一起使用。当然,这种设置假定Facebook没有任何针对YouTube视频链接的阻止措施。
另一种方法是使用"通用模板" Facebook消息构建自己的缩略图/视频链接消息组合。

Combo方法看起来不错,因为很容易获取缩略图(请参考https://dev59.com/uXI95IYBdhLWcg3w-DH0),然后简单地添加一个链接到视频的播放按钮。 - Metablocks Corp
你也可以使用类似这个(https://github.com/halgatewood/youtube-thumbnail-enhancer)的工具,在视频缩略图上添加播放图标。 - Metablocks Corp
通过直接的mp4链接调用YouTube视频非常缓慢。可能是因为Facebook在播放视频之前完全下载了该视频吗? - Marc

2
你可以使用以下代码发送大小不超过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”。

从现在开始,您可以使用附件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"

0
我找到了一个临时解决方案(视频可能会过期)。请尝试访问这个网站:http://catchvideo.net/。它会提供可播放的视频链接,您可以将其作为附件发送到 Messenger 中。希望能帮到你!
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"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接