我在图表api中发现了一些差异,并且想知道是否有人能够解决这些问题。
https://graph.facebook.com/?id=http://www.imdb.com/title/tt0117500/输出一个“赞”号以及imdb提供的与其fb:app_id相关联的所有打开的图形信息。 https://graph.facebook.com/?id=http://www.google.com然而,输出“分享”号码,因为谷歌不提供fb:app_id或fb:admins。
我的问题是我需要第一个网址的“分享”号码,因为它与like button中显示的号码相对应(喜欢+评论等)
有没有办法可靠地获取任何网址的“分享”号码?
答案 0 :(得分:57)
此API不再可用。以下答案不再有效。
我可以通过API的GET请求获取页面的统计信息(例如http://techcrunch.com)。只需发出此GET请求http://api.facebook.com/restserver.php?method=links.getStats&urls=[YOUR_URL]
并获取统计信息。
赞http://api.facebook.com/restserver.php?method=links.getStats&urls=http://techcrunch.com/ 返回
<links_getStats_response xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd" list="true">
<link_stat>
<url>http://techcrunch.com/</url>
<normalized_url>http://www.techcrunch.com/</normalized_url>
<share_count>6244</share_count>
<like_count>1513</like_count>
<comment_count>1391</comment_count>
<total_count>9148</total_count>
<click_count>4007</click_count>
<comments_fbid>433841427570</comments_fbid>
<commentsbox_count>4</commentsbox_count>
</link_stat>
</links_getStats_response>
希望这有帮助。
同时强>
如果您希望将该响应作为JSON,只需将&format=json
附加到请求网址 - Dexter
(来自评论。感谢德克斯特!)
答案 1 :(得分:6)
您需要将Facebook的FQL与表link_stat一起使用。使用与此类似的东西
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.imdb.com/title/tt0117500/"
这是该查询的结果(XML格式,当然可以用JSON获取)
<?xml version="1.0" encoding="UTF-8"?>
<fql_query_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" list="true">
<link_stat>
<url>http://www.imdb.com/title/tt0117500/</url>
<normalized_url>http://www.imdb.com/title/tt0117500/</normalized_url>
<share_count>6233</share_count>
<like_count>9500</like_count>
<comment_count>2179</comment_count>
<total_count>17912</total_count>
<commentsbox_count>6</commentsbox_count>
<comments_fbid>380728101301</comments_fbid>
<click_count>164</click_count>
</link_stat>
</fql_query_response>
total_count(17912)是您要查找的号码。
答案 2 :(得分:0)
Facebook以前的API选项不再可用。假设您想以编程方式执行此操作,Facebook目前不提供这样做的方式(据我所知)。
您可能会抓取Facebook like button示例的来源,但这似乎容易出错,尤其是考虑到他们先前的行动历史。
我发现一个第三方选项是SharedCount,它具有一个API available。它需要注册一个免费帐户,但是向this endpoint发出GET请求将导致以下示例响应:
{"StumbleUpon":1,"Pinterest":9,"LinkedIn":3744,"Facebook":{"total_count":
168,"comment_count":53,"reaction_count":14,"share_count":
101, "comment_plugin_count":0},"GooglePlusOne":189}
从那里,您可以解析出Facebook total_count
值,该值应该与您在嵌入式Facebook共享按钮旁边看到的内容相对应。
值得注意的是,我必须从示例URL中删除尾部正斜杠,以便从其API返回的SharedCount值与按钮示例中的计数匹配,因此,您可能需要尝试确保它在您的用例。