使用Facebook SSE获取直播评论遇404错误,请求排查方案
Facebook SSE 获取直播评论返回404问题排查
我尝试通过Facebook SSE获取live_videos的评论。尽管使用测试应用的页面访问令牌,能通过
{live-video-id}/commentsGraph API轻松获取评论,但相同令牌无法使SSE正常工作。使用EventSource连接(代码如下)持续返回{ type: 'error', status: 404, message: 'Not Found' },请问还有哪些遗漏的配置或步骤?
async execute() { this.es = new EventSource( `https://streaming-graph.facebook.com/${live_video_id}/live_comments?access_token=${page_access_token}`, ); this.es.onopen = (ev) => { console.log('onopen', ev); }; this.es.onmessage = (ev) => { console.log('onmessage', ev); }; this.es.onerror = (err) => { console.error(err); }; }
排查方向
- 确认直播视频ID格式:必须使用完整的视频ID(格式通常为
{page_id}_{video_id}),仅用后半段视频ID会导致404。 - 补充API版本参数:Facebook SSE端点需要指定API版本,在URL末尾添加
&api_version=v18.0(或当前最新稳定版本),未指定版本可能触发端点路由错误。 - 核验令牌权限:虽然Graph API能拉取评论,但SSE端点需要额外权限支撑,确保页面访问令牌包含
pages_read_engagement、pages_show_list以及live_video相关权限,且令牌未过期。 - 检查直播状态:SSE仅对正在进行的活跃直播生效,若直播已结束或处于预上线状态,端点会返回404。
- 排查跨域配置:浏览器环境下调用需确保Facebook应用后台已将当前域名加入白名单,EventSource不支持自定义请求头,跨域配置错误会间接导致请求失败。
- 用curl直接测试端点:通过命令行工具发送请求,能获取更详细的错误信息,帮助定位问题:
curl -N "https://streaming-graph.facebook.com/{live-video-id}/live_comments?access_token={page-access-token}&api_version=v18.0"
内容的提问来源于stack exchange,提问作者manaclan
相关产品推荐
相关产品推荐

