如何获取Facebook上他人或公共主页发布的公开视频缩略图
解决方案
原有接口失效原因
你之前使用的https://graph.facebook.com/v11.0/{video_id}/thumbnails?access_token=my_access_token属于私有资源访问接口,仅支持获取当前access_token关联账号发布、或你拥有管理权限的账号下的视频缩略图,第三方发布的视频哪怕是公开状态也会被权限校验拦截,所以无法生效。
可用实现方案
- 方案1:调用oEmbed公开元数据接口
Facebook官方提供的oEmbed接口无需用户授权,仅需普通应用级access_token即可获取公开发布视频的元数据,其中包含缩略图地址,请求格式如下:
https://graph.facebook.com/v18.0/oembed_video?url=<目标公开视频的完整分享链接>&access_token=<你的应用访问令牌>
接口返回结果中的thumbnail_url字段即为对应视频的高清缩略图地址,同时还会返回thumbnail_width、thumbnail_height等尺寸参数供你使用。
提示:应用访问令牌可直接在Facebook开发者后台的应用管理页生成,不需要额外申请权限,只要目标视频是全站公开、无年龄/地区/好友限制的内容均可正常返回结果
- 方案2:公共主页视频缩略图直接拼接
如果目标视频是公开主页发布的内容,且你已经拿到了视频ID,也可以通过固定规则直接拼接缩略图地址,无需调用接口:
https://graph.facebook.com/{video_id}/picture
该地址会直接302跳转到对应的缩略图资源地址,无需传入access_token即可正常访问公开主页的视频缩略图。
注意:以上所有方案仅支持获取公开发布、无访问权限限制的Facebook视频内容,涉及隐私受限的内容无法通过官方正规接口获取,违规爬取违反Facebook平台服务条款,可能导致你的IP或开发者账号被限制。
内容的提问来源于stack exchange,提问作者radren
相关产品推荐
相关产品推荐

