是否还可通过GraphAPI下载公开的Facebook视频?
利用Facebook Graph API获取MP4格式视频链接的可行方案
你遇到的100、200报错对应两类常见问题:
- message100报错属于参数类错误,常见触发原因包括请求的视频ID无效、请求的字段名称拼写错误、调用的Graph API版本已过期废弃、访问令牌格式错误
- message200报错属于权限类错误,常见触发原因包括你的访问令牌没有对应视频的读取权限、你的应用未申请对应权限、权限未通过Facebook官方审核无法在正式环境使用
正确实现步骤
1. 提前申请对应权限
根据你要获取的视频所属主体,提前在Facebook开发者后台申请对应权限并完成审核:
- 读取公开主页发布的视频:需要
pages_show_list、pages_read_engagement权限 - 读取普通用户发布的视频:需要
user_videos权限,且需要获得该用户的明确授权 - 读取你自己运营的主页视频:可以直接生成主页访问令牌调用,无需额外用户授权
2. 构造请求路径
调用当前仍在有效期的Graph API版本(目前最新为v18.0),请求时必须明确指定source字段,该字段返回值即为MP4格式的直链地址。
请求示例:
GET https://graph.facebook.com/v18.0/{替换为实际视频ID}?fields=id,source,title&access_token={替换为你的有效访问令牌}
如果需要获取不同清晰度的视频地址,可以在fields参数中追加videos字段,返回结果中会包含标清、高清等多种分辨率的MP4链接。
3. 特殊场景处理
如果是直播结束后的回放视频,常规source字段可能返回为空,此时可以请求video_buylinks字段,从返回结果中提取对应MP4地址。
重要提示:你仅可获取拥有所有权或已获得授权的视频内容,未经许可抓取第三方视频违反Facebook平台服务条款,会导致应用被封禁、访问权限被限制。
内容的提问来源于stack exchange,提问作者Maaxkar
相关产品推荐
相关产品推荐

