如何获取facebook分享,例如,只对具有图形api的网址进行评论计数(以非弃用的方式)

时间:2014-09-19 18:38:43

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

问题是图形api fql的v2.1之后将被弃用。

有人可以告诉我如何获得单独的喜欢,仅使用图形API来分享给定网址的数量吗?我正在寻找一些文档,但是没有任何文件,我只能获得总数"股票"喜欢+分享+评论。

是的,我知道有不朽的http://api.facebook.com/restserver.php?method=links.getStats&urls,但是如果facebook终于把它关闭了呢?

6 个答案:

答案 0 :(得分:12)

REST API(带有http://api.facebook.com/restserver.php?method=links.getStats&urls之类的调用)随着Graph API v2.1:https://developers.facebook.com/docs/apps/changelog#v2_1_deprecations的推出而被宣布为已弃用,但也已在2011年宣布:https://developers.facebook.com/blog/post/616/

因此,根据我的理解,这将在2016年8月7日引入v2.1两年后产生此功能的不可操作性:

https://developers.facebook.com/docs/apps/versions#howlong

使用Graph API最接近FQL API调用结果的“旧”REST就是这样:

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

但它忽略了like_count指标(不要问我为什么......)。

我个人认为你应该继续使用对link_stathttps://developers.facebook.com/docs/reference/fql/link_stat/)表的FQL调用,因为这将在接下来的两年内推出。只有拥有v2.0应用程序才能实现此功能。也许在此之前,Graph API会有一些额外的端点。

答案 1 :(得分:6)

我建议使用像SharedCount这样的工具,它也提供了更多的平台。以下是他们获取数据的方式:http://www.sharedcount.com/documentation.php(向下滚动到“来源”)

所以对于Facebook来说就是这样:

https://api.facebook.com/method/links.getStats?urls=%%URL%%&format=json

你得到一个像这样的JSON对象:

  

... “SHARE_COUNT”:66, “LIKE_COUNT”:15, “COMMENT_COUNT”:1, “TOTAL_COUNT”:82 ...

编辑:现在已弃用,但还有另一种可能性,在此主题中解释:Get FB likes, shares and comments for a URL using PHP - with no limit

答案 2 :(得分:5)

你可以像https://graph.facebook.com/?ids=http://mycodingtricks.com一样使用facebook graph api,它会返回像

这样的json代码
{  
    "http://mycodingtricks.com":{  
        "id":"http://mycodingtricks.com",
        "shares":1
    }
}

我已经开发了自己的php脚本,你可以使用该api对所有社交人员进行计数。 http://mycodingtricks.com/share/social.php?url=YOUR-URL-HERE它将返回如下数据:

{  
    "facebook":[  
        {  
            "share_count":1,
            "like_count":0,
            "comment_count":0,
            "total_count":1,
            "click_count":0,
            "comments_fbid":567687199998199,
            "commentsbox_count":0
        }
    ],
    "googleplus":10,
    "twitter":3,
    "buffer":0,
    "pinterest":0,
    "stumblupon":1,
    "reddit":"<html><body><h1>403 Forbidden<\/h1>\nRequest forbidden by administrative rules.\n<\/body><\/html>\n",
    "linkedin":0
}

但是如果你想自己使用这里有一篇关于如何统计facebook分享的完整文章,比如和所有。 http://mycodingtricks.com/php/2-ways-to-count-facebook-likes-shares-and-comments-using-php/

答案 3 :(得分:5)

实际上获取相同数字的正确方法是:

http://graph.facebook.com/v2.5/?id=YOUR_URL&fields=og_object{engagement}

og_object之后的括号是og_object的第二级。 请参阅此处的文档:
https://developers.facebook.com/docs/graph-api/reference/url

您可能需要对网址和括号进行编码,使其看起来像: https://graph.facebook.com/v2.5/?id=ENCODED_URL&fields=og_object%7Bengagement%7D&id=http%3A%2F%2Fwww.cnn.com

参见一个工作示例 graph explorer(点击提交按钮)

答案 4 :(得分:1)

自最近关闭API 2.1以来,所有答案都是错误的或不完整的!

我是社交媒体插件MashShare的作者,我最近不得不针对此问题进行精确观察,因为它严重影响了我们插件的份额。

观察验证数据:

https://graph.facebook.com/v2.7/?id=https://www.mashshare.net包含之类的赞。

据我所知,获得一个数字接近真实分享数量的唯一方法是首先得到一个网址。然后取这个数字并从共享和喜欢的总数中减去它。

要获得相同的计数,您需要获取网址的对象ID并创建另一个API请求: https://graph.facebook.com/v2.7/14206851986099/likes?summary=true

如果您知道如何将两个请求合并为一个,请告诉我。

答案 5 :(得分:0)

截至2016年8月19日,facebook完全关闭了其他API。 唯一的选择是使用上面建议的图形API。