【问题标题】:Empty response from Facebook GraphFacebook Graph 的空响应
【发布时间】:2014-07-13 16:46:36
【问题描述】:

我正在尝试获取有关 Facebook 上帖子的点赞、cmets 和共享的计数和信息。尽管它在大多数情况下都有效,但有时我会收到来自 Graph API 的“空”JSON 响应。

代码:

import facepy, pprint

long_access_token = "Access token"

graph = facepy.GraphAPI(long_access_token)
limit = 1
user_id = "4"
post_id = "10101319050523971"

g = graph.get(post_id + '/sharedposts?limit=%s' %(limit))
pprint.pprint(g)

输出:

{u'data': []}

请注意,此post 拥有超过 20 万个赞和 3 万个分享。相比之下,拥有 30K 赞和 2K 分享的 post 效果很好。所以我认为这是一个帖子的“大小”问题。

如何处理点赞、cmets、分享量大的帖子?我想获得计数以及有关用户的信息。

【问题讨论】:

  • 有趣的问题。小建议:在编程之前,您可以通过使用 Graph API Explorer 注意到完全相同的行为。这是了解您要查找的数据是否可用的最简单方法。
  • 您使用的是哪个访问令牌?可能是页面被某种方式限制了,你的访问令牌看不到
  • 我使用为我的应用程序生成的长访问令牌。我不认为它看不到它,因为我可以从同一用户的其他帖子中提取信息。

标签: python facebook facebook-graph-api


【解决方案1】:

实际上你不应该能够从 zuck 那里获得 feed,因为他显然没有使用你的应用程序。

您可以调用 POST_ID 端点,因为此帖子的类型是 链接 类型

即使您无法从 zuck 检索提要:

但是,你可以得到zuck分享的公开链接:

这是我从 Facebook 收到的回复:

【讨论】:

  • 我仍然无法获得关于帖子 10101319050523971 链接的任何数据。这是什么?
  • Post 10101319050523971 不是链接类型,因此您不应该能够获取数据。除非 zuck 以 read_stream 权限授权您的应用。
  • Post 10101323506030101是一个链接类型,这就是为什么你可以在没有zuck授权的情况下获取数据。你清楚吗?
  • 链接类型是否只是存在某个链接的消息?
  • 您可以使用“me/links”端点测试自己,例如developers.facebook.com/tools/explorer/… 你会注意到这个帖子在消息后面有一个链接。
猜你喜欢
  • 2023-01-29
  • 2013-05-29
  • 2015-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多