【问题标题】:Facebook GraphAPI and FQL API return different value for same URLFacebook GraphAPI 和 FQL API 为相同的 URL 返回不同的值
【发布时间】:2015-06-21 09:05:57
【问题描述】:

我尝试将我的 facebook 应用程序从 FQL API (1.0) 迁移到 GraphAPI (2.3),但遇到了一些问题。

我的 facebook 应用程序的主要目标是获取指定链接(文章网址)的当前点赞、分享和 cmets 计数。 (我认为,类似于How to get facebook share, like, comment count for a url with graph api only (in a non-deprecated way)

在(旧)FQL API 中,我可以通过执行 SELECT ... FROM link_stat 表来获取此信息。例如:

https://graph.facebook.com/fql?access_token=xxxxxxxxxxxx|yyyyyyyya&q=SELECT%20click_count%2Ccomment_count%2Ccommentsbox_count%2Clike_count%2Cshare_count%2Ctotal_count%2Cnormalized_url%20FROM%20link_stat%20WHERE%20url%20IN%20%28"http%3A//sport.wp.pl/kat%2C1715%2Ctitle%2CSwiat-pokochal-polskiego-sportowca-Mimo-ze-ledwo-dukal-po-angielsku%2Cwid%2C17449498%2Cwiadomosc.html"%29

以 JSON 格式返回信息,例如:

{
 "data": [
  {
   "like_count": 21, 
   "comment_count": 0, 
   "click_count": 0, 
   "commentsbox_count": 0, 
   "total_count": 29, 
   "share_count": 8, 
   "normalized_url": "http://sport.wp.pl/kat,1715,title,Swiat-pokochal-polskiego-sportowca-Mimo-ze-ledwo-dukal-po-angielsku,wid,17449498,wiadomosc.html"
  }
 ]
}

理论上,在新的 GraphAPI (2.3) 中,此信息可通过以下方式获得:

URL 和 /{object-id}/likes 边缘:

https://developers.facebook.com/docs/graph-api/reference/v2.3/url https://developers.facebook.com/docs/graph-api/reference/v2.0/object/likes

返回值。例如:

{
 "share": {
  "comment_count": 0, 
  "share_count": 42
 }, 
 "og_object": {
  "url": "http://sport.wp.pl/kat,1715,title,Swiat-pokochal-polskiego-sportowca-Mimo-ze-ledwo-dukal-po-angielsku,wid,17449498,wiadomosc.html", 
  "description": "Kibice wstrzymali oddech, dos\u0142ownie. W sali s\u0142ycha\u0107 by\u0142o tykaj\u0105c\u0105 wskaz\u00f3wk\u0119 zegara zawieszonego na \u015bcianie. Przy stole sta\u0142 Bogdan Wo\u0142kowski, nieruchomo patrzy\u0142 na \u015brodek, gdzie znajdowa\u0142a si\u0119 wysoka piramida z\u0142o\u017cona z kilku poziom\u00f3w bil i tr\u00f3jk\u0105t\u00f3w. Na jej szczycie sta\u0142 cz\u0142owiek. Mija\u0142y kolejne sekundy, napi\u0119cie ros\u0142o. Nagle \"Wizard\" wzi\u0105\u0142 kij do r\u0119ki, przymierzy\u0142, hukn\u0105\u0142 w bil\u0119, ta uderzy\u0142a w piramid\u0119 i...", 
  "type": "article", 
  "title": "\u015awiat pokocha\u0142 polskiego sportowca. Mimo \u017ce ledwo duka\u0142 po angielsku", 
  "updated_time": "2015-04-14T19:46:03+0000", 
  "id": "1055320127830544"
 }, 
 "id": "http://sport.wp.pl/kat,1715,title,Swiat-pokochal-polskiego-sportowca-Mimo-ze-ledwo-dukal-po-angielsku,wid,17449498,wiadomosc.html"
}

{
 "1055320127830544": {
  "data": [], 
  "summary": {
   "total_count": 0
  }
 }
}

很遗憾,这个值与 FQL API 的结果不一致。

所以,我的问题是: 响应中的每个值是什么意思,为什么它与 FQL 不一致?

【问题讨论】:

    标签: facebook api facebook-graph-api facebook-fql


    【解决方案1】:

    这似乎是 API 的一个已知问题。您可以关注this post 获取更新。

    post 很好地解释了如何获取共享计数。

    我还注意到,对于 API 版本 2.1 及更高版本,响应中的share_count 包含共享总数,包括用户直接在时间轴上共享的链接。对于 2.0 版本,我认为响应中的shares 排除了这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 2020-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多