如何使用图谱API获取份额计数


136

我可以使用PHP SDK和不推荐使用的rest API来获取URL的共享计数,但是找不到使用图谱API来获取URL的共享计数的方法。

有什么办法找出来吗?


获取您的解决方案在这里stackoverflow.com/questions/6137414/...
坂田Gintoki


2016年8月8日发布(不建议弃用)答案:stackoverflow.com/a/39379251/4607317
budi 2016年

Answers:


270

这是获取您的统计信息的API链接列表:

脸书: https
: //api.facebook.com/method/links.getStats ? urls = %%URL %% & format = json Reddit:http : //buttons.reddit.com/button_info.json ? url = %% URL% %
LinkedIn:http
//www.linkedin.com/countserv/count/share url = %% URL %%& format = json Digg:http://widgets.digg.com/buttons/count url = %% URL %%
美味: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


1
一位linkedin人不起作用(拒绝403访问)
Maxim Krizhanovsky 2014年

2
每个请求的API调用限制是多少?
StErMi 2014年

8
嗨,您好 !感谢这份清单。我找不到api.facebook.com/method/links.getStats API端点的文档 。它确实可以工作,但是我想确保它不会成为即将停用的API版本的一部分。同样奇怪的是,这无需身份验证就可以使用...您在facebook文档中看到关于此的任何信息吗?它不是图形API的一部分...
Żabojad

10
Facebook链接不再起作用。使用graph.facebook.com/?id=http://www.google.com
MarkOverride

8
@MarkOverride甚至是更优化的版本(带宽更少)是graph.facebook.com/?fields=share&id=http://www.google.com。问题在于这些新端点受到严格的速率限制,并且很难在没有遇到上述限制的情况下在生产中使用它们。如果有人用其他方法来做,请告诉我们。
njy

200

更新-2015年4月:

如果要获取“喜欢”按钮中可用的计数,则应使用对象中的engagement字段og_object,如下所示:

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的共享数(包括复制/粘贴回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 是显示在“赞”按钮中的数字。


我没有获得某些对象的共享计数。我知道他们应该至少有一个份额。
Jan Deinhard

1
@公平,是的,有时数字不正确,这有点令人困惑。您可以使用其他答案建议的fql表,但...有时数字也不正确!
ifaour 2011年

可以分享几个网站的股份吗?
阿齐兹(Aziz)2012年

@Aziz,你是什么意思?
ifaour 2012年

3
随着V2.6文档不会让你得到share_countlike_count而且comment_count,它似乎fql和REST API仍然是最好的选择...... 但无论fql和2016年8月7日之后REST API将不再可用!有什么建议?
DanielGarcíaBaena

21

您不应该使用图形API。如果您致电:

要么

两者都会返回:

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

但是显示的数字是的总和

  • 这个网址的喜欢人数
  • 此URL的共享数(包括复制/粘贴回Facebook的链接)
  • 对Facebook上有关此URL的故事的喜欢和评论数
  • 包含此URL作为附件的收件箱消息数。

因此,您必须使用FQL。
看看这个答案: 如何从文章中获取Facebook的赞,分享,评论数


您绝对正确,total_shares是评论+喜欢+分享的总和,但我请求的页面显示了shares_i_have = total_shares +喜欢
Aziz

14

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

1
但是share_count的值具有误导性,因为它指的是点赞和分享的总和
Alon Bilu'3

我想您是对的,我的回答只是关于如何调用API的更新。我认为@freedev关于份额计数的说法可能仍然是正确的。
Giorgio Tempesta

8

我发现有用并且在上面的一个链接中发现的是此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
         }
    ]
}

2
自2016年8月8日起,FQL将不再可用且无法查询。要迁移您的应用,请使用API​​升级工具查看您可以进行的Graph API调用。
Nguyen Minh Binh


4

facebook like按钮执行API不会执行的两项操作。比较两者时,这可能会造成混乱。

  1. 如果您在“喜欢”按钮中使用的URL具有重定向,则该按钮实际上将显示重定向URL的数量与您正在使用的URL的数量。

  2. 如果页面具有og:url属性,则“赞”按钮将显示该URL的赞,而不是浏览器中的URL。

希望这可以帮助某人



1

当我使用FQL时,我发现了问题(但仍然是问题),文档说显示的数字是以下各项的总和:

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

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


1

使用FQL,您可以执行以下操作:

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

1

有一颗红宝石宝石-SocialShares

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

  • 脸书
  • 推特
  • 谷歌加
  • reddit
  • 行人
  • pinterest
  • 偶然发现
  • Vkontakte
  • mail.ru
  • odnoklassniki

用法:

: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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.