Facebook Messenger媒体模板发送视频失败,寻求正确实现方案
Messenger视频模板发送失败的排查与解决
问题概述
普通消息和标准模板能正常发送,但视频模板发送失败,返回错误(#100) 无效的消息数据(错误子码2534015)。
提交的请求代码
curl -X POST -H "Content-Type: application/json" -d '{ "recipient":{ "id":"...665" }, "message":{ "attachment": { "type": "template", "payload": { "template_type": "media", "elements": [ { "media_type": "video", "url": "https://www.facebook.com/100559414942740/videos/925282991363243" } ] } } } }' "https://graph.facebook.com/v18.0/me/messages?access_token=..KUZCIBNSv"
返回的错误信息
{"error":{"message":"(#100) 无效的消息数据","type":"OAuthException","code":100,"error_subcode":2534015,"fbtrace_id":"AfizMhFPOd7EiOvrHac5Q9_"}}
核心问题与解决办法
1. 视频URL不符合要求
你使用的是Facebook视频的网页链接,Messenger媒体模板不支持这类页面链接,必须使用视频的直接文件URL(如.mp4格式的可直接下载链接)。
2. 改用Asset Library的视频ID(更可靠)
将视频上传到Facebook Asset Library后,使用attachment_id替代url,可避免URL失效或权限问题:
curl -X POST -H "Content-Type: application/json" -d '{ "recipient":{ "id":"...665" }, "message":{ "attachment": { "type": "template", "payload": { "template_type": "media", "elements": [ { "media_type": "video", "attachment_id": "YOUR_VIDEO_ASSET_ID" } ] } } } }' "https://graph.facebook.com/v18.0/me/messages?access_token=..KUZCIBNSv"
3. 视频需满足平台规范
- 格式:仅支持MP4或MOV
- 大小:不超过25MB
- 时长:最多120分钟
- 权限:视频文件需公开可访问,或你的应用拥有访问权限
4. 验证权限与API版本
确认你的页面访问令牌已获得pages_messaging权限,且使用的Graph API版本(v18.0)兼容当前媒体模板规则。
内容的提问来源于stack exchange,提问作者Aziz Nortozhiev
相关产品推荐
相关产品推荐

