如何使用图形 API 获得共享计数

我可以使用 PHP SDK 和不推荐的其他 API 获取 URL 的共享计数,但是没有找到使用图形 API 获取 URL 的共享计数的方法。

有办法查出来吗?

169115 次浏览

最新消息-15年4月:

如果希望获得 Like 按钮中可用的计数,应该使用 og_object对象中的 engagement字段,如下所示:

https://graph.facebook.com/v2.2/?id=http://www.MY-LINK.com&fields=og_object{engagement}&access_token=<access_token>

结果:

{
"og_object": {
"engagement": {
"count": 93,
"social_sentence": "93 people like this."
},
"id": "801998203216179"
},
"id": "http://techcrunch.com/2015/04/06/they-should-have-announced-at-420/"
}

使用 Graph API 是可行的,只需使用:

http://graph.facebook.com/?id=YOUR_URL

比如:

http://graph.facebook.com/?id=http://www.google.com

将返回:

{
"id": "http://www.google.com",
"shares": 1163912
}

更新: 而上面将回答如何获得 分享计数。这个数字是 没有等于你在 就像巴顿上看到的数字,因为这个数字是:

  • 此 URL 的“喜欢”数
  • 此 URL 的共享数(包括复制/粘贴到 Facebook 的链接)
  • Facebook 上关于这个 URL 的喜欢和评论的数量
  • 包含此 URL 作为附件的收件箱消息数。

因此,使用 Graph API 通过 fql端点(link_stat表)获得 Like Button 编号是可能的:

https://graph.facebook.com/fql?q=SELECT url, normalized_url, share_count, like_count, comment_count, total_count,commentsbox_count, comments_fbid, click_count FROM link_stat WHERE url='http://www.google.com'

total_count是在“喜欢”按钮中显示的数字。

你不应该使用 api,如果你调用:

或者

他们都会回来:

{
"id": "http://www.apple.com",
"shares": 1146997
}

但显示的数字是 的总和:

  • 喜欢这个网址的人数
  • 此 URL 的共享数(包括复制/粘贴到 Facebook 的链接)
  • 在 Facebook 上关于这个网址的故事的赞和评论的数量
  • 包含此 URL 作为附件的收件箱邮件数。

所以你必须使用 FQL。看看这个答案: 如何从一篇文章中获取 facebook 的喜欢、分享和评论

当我使用 FQL 时,我发现了问题(但它仍然是问题) 文件说,所显示的数字是:

  • 喜欢这个网址的人数
  • 此网址的分享数目(此 包括复制/粘贴回 Facebook 的链接)
  • 喜欢和 在 Facebook 上关于这个网址的新闻评论
  • 收件箱号码 包含此 URL 作为附件的消息。

但是在我的网站上显示的数字是这4个数字之和 + 股票数量(再次)

Facebook 喜欢按钮可以做两件 API 不能做的事情。这可能会在比较两者时造成混淆。

  1. 如果您在您的喜欢按钮中使用的 URL 有一个重定向按钮,该按钮实际上将显示重定向 URL 的计数与您正在使用的 URL 的计数。

  2. 如果页面具有 og: url 属性,like 按钮将在浏览器中显示类似的 url 而不是 url。

希望这对谁有帮助

这里有一个 API 链接的列表来获取你的统计数据:

返回文章页面 Facebook: Https://api.facebook.com/method/links.getstats?urls=%%url%%&format=json
Reddit: http://buttons.Reddit.com/button _ info.json? url =%% URL%%”rel = “ noReferrer”> http://buttons.Reddit.com/button_info.json?url=%%url%%
LinkedIn: http://www.linkedin.com/countserv/count/share?url=%%URL%%&format=json < br/> Digg: Http://widgets.digg.com/buttons/count?url=%%url%% < br/> 美味: Http://feeds.delicious.com/v2/json/urlinfo/data?url=%%url%%
StumbleUpon: Http://www.stumbleupon.com/services/1.01/badge.getinfo?url=%%url%%
Pinterest: Http://widgets.pinterest.com/v1/urls/count.json?source=6&url=%%url%%

编辑: 删除了 Twitter 端点,因为该端点已被废弃。

编辑: 不推荐使用 Facebook REST API

使用 FQL 你可以做到这一点:

http://graph.facebook.com/fql?q=SELECT url, total_count FROM link_stat WHERE url='PASTE_YOUR_URL_HERE'

有一个红宝石为它-SocialShares

目前,它支持以下社交网络:

  • 脸书
  • 推特
  • Google +
  • Reddit
  • Linkedin
  • Pinterest
  • 无意中发现的
  • 谢谢
  • Mail.ru
  • (西班牙语)

用法:

:000 > url = 'http://www.apple.com/'
=> "http://www.apple.com/"
:000 > SocialShares.facebook url
=> 394927
:000 > SocialShares.google url
=> 28289
:000 > SocialShares.twitter url
=> 1164675
:000 > SocialShares.all url
=> {:vkontakte=>44, :facebook=>399027, :google=>28346, :twitter=>1836, :mail_ru=>37, :odnoklassniki=>1, :reddit=>2361, :linkedin=>nil, :pinterest=>21011, :stumbleupon=>43035}
:000 > SocialShares.selected url, %w(facebook google linkedin)
=> {:facebook=>394927, :google=>28289, :linkedin=>nil}
:000 > SocialShares.total url, %w(facebook google)
=> 423216
:000 > SocialShares.has_any? url, %w(twitter linkedin)
=> true

你可在此查阅 这个要点的资料片段,了解如何得到以下服务的分享数目:

  • 脸书
  • 推特
  • 谷歌 +
  • Pinterest
  • 领英
  • StumbledUpon

我在上面的一个链接中发现的有用之处是这个 FQL 查询,您可以通过查看 link _ stat 表来查询一个链接的喜欢、总数、分享和单击次数

https://graph.facebook.com/fql?q=SELECT%20like_count,%20total_count,%20share_count,%20click_count,%20comment_count%20FROM%20link_stat%20WHERE%20url%20=%20%22http://google.com%22

它会输出这样的东西:

{
data: [
{
like_count: 3440162,
total_count: 13226503,
share_count: 7732740,
click_count: 265614,
comment_count: 2053601
}
]
}

2016年8月7日之后,你仍然可以这样打电话:

http://graph.facebook.com/?id=https://www.apple.com/

但是回应的形式会有所不同: 不会的

{
"id": "http://www.apple.com",
"shares": 1146997
}

但它将会是

{
"og_object": {
"id": "388265801869",
"description": "Get a first look at iPhone 7, Apple Watch Series 2, and the new AirPods \u2014 the future of wireless headphones. Visit the site to learn more.",
"title": "Apple",
"type": "website",
"updated_time": "2016-09-20T08:21:03+0000"
},
"share": {
"comment_count": 1,
"share_count": 1094227
},
"id": "https://www.apple.com"
}

所以你必须这样处理这个反应:

reponse_variable.share.share_count

只需键入 https://graph.facebook.com/?fields=share&id=https://www.example.com并将 example 替换为您正在查找的 URL 或页面。

谷歌的例子: Https://graph.facebook.com/?fields=share&id=https://www.google.com

您可以使用 https://graph.facebook.com/v3.0/{ Place _ your _ Page _ ID here }/feed? fields = id,share,share _ count & access _ token = { Place _ your _ access _ token _ here }来获取共享计数。