使用 FB API v2.5 获取 Public 视频的分享数

Get Share Count of Public Video with FB API v2.5

简短版本:

"I can visit the public page without being logged into Facebook and see underneath the post is says "2155 股"我想知道如何通过 API"

访问该号码

详情:

我正在尝试使用图表 HTTP API 的最新版本 (v2.5) 来确定 public video 的总共享数。问题是 FB 似乎已经改变了 API 以至于 SO 上的旧帖子不再回答这个问题。

查看 Graph API Documentation 看来视频节点现在具有 "sharedposts" 边缘。但是,使用 summary=true 调用此路由仅 returns 一些共享并且没有总计数值。这 returns 计入评论和点赞,所以我没有错误地使用端点或弄乱我的授权。

我也尝试过使用 URL Node 但这似乎对 Facebook 内部的链接没有多大作用。我只是得到一个 JSON 响应,其中包含一个 'id' 字段,该字段与我作为请求参数提供的 url 相同。这条路线似乎是用来链接到 Facebook 以外的内容。

我已经在多个 public 页面上对多个视频尝试了上述方法,所以我认为这不是因为群组所有者限制访问,除非这是新的默认设置。

允许我访问评论和喜欢的总数,但不能访问共享,这似乎是武断的。是否有一些传统的方法可以做到这一点,或者我现在运气不好?

您应该查询包含视频元素的 Post 元素。

每个 posted 视频也包含在一个 post 元素中。
post ID 由视频 ID 前置 和 posting 实体 ID(用户、页面等)组成,用 [=39= 分隔]下划线.
然后看起来像:user-id_video-id.

然后使用图表 API 获取 post 的分享数非常简单:

GET /v2.5/{post-id}?fields=shares  

例子

让我们从 BBC 页面上取一段视频:

https://www.facebook.com/bbcnews/videos/10153524838517217/
(如果 link 坏了,请告诉我。我会把它换成更新的:))

视频编号:10153524838517217
页面 ID(见下文):228735667216

--> Post id: 228735667216_10153524838517217

请求将是:

GET /v2.5/228735667216_10153524838517217?fields=shares  

(open in the Graph API explorer)


页面 ID

要获取页面 ID,您可以查询视频元素的 from 字段。

GET /v2.5/10153524838517217?fields=from