【问题标题】:Is it possible to get the number of facebook likes for a url?是否有可能获得一个 url 的 Facebook 点赞数?
【发布时间】:2026-01-20 12:15:02
【问题描述】:

理想情况下,我只想使用 javascript 客户端脚本来执行此操作。如果那是不可能的,那么我想这样做,以使服务器做最少的工作。

感谢任何帮助。

【问题讨论】:

    标签: php javascript facebook cross-domain


    【解决方案1】:

    实际上,https://graph.facebook.com/?ids=http://www.*.com 将返回该 url 的 SHARES 数量,这与喜欢的数量不同,因为它还包括 cmets 和其他形式的分享。这可能是也可能不是重要的区别。

    使用 Graph API 2.1+ 有两种方法...尽管现在都需要访问令牌。请参阅下文,了解如何获取永久有效且与用户会话无关的访问令牌。

    网址的点赞数

    1. 首先,您需要获取 URL 的 ID: https://graph.facebook.com/?id=http://www.*.com (您不需要访问令牌)
    2. 获得 id 后,您可以通过 likes 端点获取点赞数。您可以在 json 响应的摘要部分访问总计数。这是一个示例请求:https://graph.facebook.com/10150180465825637/likes/?summary=true&access_token=TOKEN_GOES_HERE (您需要一个有效的访问令牌,但您可以使用应用访问令牌 - 见下文)

    Facebook 主页的点赞数

    1. 您可以通过以下方式直接获得点赞数:https://graph.facebook.com/FacebookDevelopers/?fields=likes&access_token=TOKEN_GOES_HERE (您需要一个有效的访问令牌,但您可以使用应用访问令牌 - 见下文)

    如何获得永久访问令牌(App Access Token)

    您可以使用用户访问令牌来获得这些结果,但通常对于点赞脚本来说是不可行的。

    您需要改用应用访问令牌,这样您就可以“离线”运行脚本,而无需活动的用户访问令牌会话。以前您必须请求应用程序访问令牌,现在只需将应用程序 ID 和机密与 | 连接起来即可。如下:

    MY_APP_ID|MY_APP_SECRET
    

    换句话说,上面的完整请求应该是这样的:

    https://graph.facebook.com/10150180465825637/likes/?summary=true&access_token=MY_APP_ID|MY_APP_SECRET
    

    请记住,由于此请求需要应用密码,因此您应该始终在服务器端执行此请求。客户端请求会将您的应用机密公开给所有人。


    在以前版本的 Graph API(2.0 及更低版本)中,您可以使用 FQL:

    SELECT like_count FROM link_stat WHERE url="http://www.*.com"

    Here 是实际链接。截至撰写本文时,大约有 200 个赞和 2000 多个分享,所以这是一个很大的不同......

    【讨论】:

    • 现在我们可以使用这个 API 来获取链接的 ID 而无需任何访问令牌 https://graph.facebook.com/?id={your-url}
    • 更新了原文以反映 Trung Le Nguyen Nhat 上面所说的内容。
    【解决方案2】:

    【讨论】:

    【解决方案3】:

    这很简单,其他几个关于 SO 的回答者已经展示了很好的例子。基本使用 Graph API:http://developers.facebook.com/docs/api 查询您的 URL 上的信息,例如:https://graph.facebook.com/?ids=http://www.stackloverflow.com。 API 会返回一个 JSON 对象,该对象应该易于与 Javascript 一起使用。

    【讨论】:

      最近更新 更多