Get the number of facebook *shares* of a specific URL

徘徊边缘 提交于 2019-11-27 11:08:55

问题


I've found some discrepancies in the graph api and was wondering if anybody has been able to work around them.

https://graph.facebook.com/?id=http://www.imdb.com/title/tt0117500/ outputs a "likes" number together with all of the open graph info provided by imdb, associated to its fb:app_id. https://graph.facebook.com/?id=http://www.google.com however, outputs the "shares" number, as google doesn't provide an fb:app_id or fb:admins.

My problem is that I need the "shares" number for the first URL, as it corresponds with the number exposed in its like button (likes + comments, etc.)

Is there any way to reliably get this "shares" number for any URL?


回答1:


This API is no longer available. The answer below is no longer valid.


I could get stats of a page (say http://techcrunch.com) with just a GET request to API. Just place this GET request http://api.facebook.com/restserver.php?method=links.getStats&urls=[YOUR_URL] and get the stats.

like http://api.facebook.com/restserver.php?method=links.getStats&urls=http://techcrunch.com/ returns

<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>

Hope this helps.


Also,

If you want that response as a JSON, just append &format=json to request URL – Dexter
(from the comment. Thanks Dexter!)




回答2:


You need to use Facebooks' FQL with table link_stat. Use something similar to this

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/"

This is the result for that query (in XML format, you can of course get it in 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>

The total_count (17912) is the number you are looking for.



来源:https://stackoverflow.com/questions/9464265/get-the-number-of-facebook-shares-of-a-specific-url

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!