【问题标题】:Find user ID from comment on a post in Facebook Page?从 Facebook 页面中帖子的评论中查找用户 ID?
【发布时间】:2017-11-17 07:03:16
【问题描述】:

https://developers.facebook.com/docs/graph-api/reference/v2.11/comment

在此,没有字段可以找到发表评论的用户。但是,这是在 facebook 上公开可用的,但图形 API 不允许这样做。

例如,如果得到评论 id 124125235235_124242353254,我该怎么做才能找到评论它的用户?

graph.facebook.com/5550296508_10157585378836509?fields=cmets&access_token=XXX

【问题讨论】:

  • cmets 的 from 字段应该为您提供用户 ID;但看起来您现在需要一个页面访问令牌来处理请求。
  • 它说,“字段为空或访问令牌不允许”。如何获取页面访问令牌?

标签: facebook facebook-graph-api


【解决方案1】:

从 Graph API v2.11 开始,您需要一个页面访问令牌来从任何端点(首先是 cmets 和反应)获取(范围内的)user_id。

(见v2.11 90 Days Breaking Changes

/page/* — 用户信息将不包含在 GET 响应中 页面拥有的任何对象,除非请求是使用 页面访问令牌。这会影响所有返回数据的节点和边 用于页面拥有的对象。

使用 2.11 前缀进行的 API 调用已经发生这种情况。例如

https://graph.facebook.com/v2.11/5550296508_10157585378836509?fields=comments&access_token=XXX

您仍然可以转到Graph API Explorer 并定制您的请求以针对较旧的端点提出或构建您自己的请求

https://graph.facebook.com/v2.10/5550296508_10157585378836509?fields=comments&access_token=XXX

但是,IIRC,90 天的重大更改意味着在 90 天内,此政策将影响所有 API 版本,因此旧应用将不再返回用户 ID。

如何获得页面令牌?

在 Graph API Explorer 中,您可以为您有权访问的页面生成令牌

并且要访问页面,您需要获得页面管理员的授权。他可以通过转到他的页面来授权您,然后单击 设置 -> 页面角色

我猜你需要最少的权限才能真正获得作用域的 user_ids。

【讨论】:

  • 有其他方法吗?有什么办法可以解决这个变化?
  • 我不知道。也许他们忘记修改给定的端点,但如果是这种情况,他们会在注意到后立即修补它。因此,基本上,您需要在该页面中拥有一个角色,或者让具有该角色的人登录您的 Facebook 应用程序并让 Facebook 批准权限pages_show_list,我猜也是read_insights
  • 我正在关注 FB 文档(developers.facebook.com/docs/graph-api/reference/v8.0/comment)并使用 Graph API v8.0。我有具有所需权限的页面访问令牌。我能够获取 cmets 列表,但它没有显示 from 字段的任何内容。对此有任何建议。谢谢
猜你喜欢
  • 2019-04-27
  • 2013-07-17
  • 1970-01-01
  • 2019-09-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-01
  • 1970-01-01
  • 2017-05-22
相关资源
最近更新 更多