是否有可能获得网站的Facebook喜欢的数量?

时间:2011-01-21 22:38:26

标签: php javascript facebook cross-domain

理想情况下,我只想使用javascript客户端脚本执行此操作。如果那是不可能的话,那么我想以这样的方式做到这一点,让服务器完成最少量的工作。

感谢任何帮助。

3 个答案:

答案 0 :(得分:16)

实际上,https://graph.facebook.com/?ids=http://www.stackoverflow.com将返回该网址的股份数量,这与喜欢的数量不同,因为它还包含评论和其他形式的共享。这可能是也可能不是一个重要的区别。

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

与网址数量类似

  1. 首先,您需要获取网址的ID: https://graph.facebook.com/?id=http://www.stackoverflow.com (你不需要一个访问令牌)
  2. 获得ID后,您可以通过喜欢的端点获得相同的数量。您可以访问json响应的摘要部分中的总计数。以下是一个示例请求:https://graph.facebook.com/10150180465825637/likes/?summary=true&access_token=TOKEN_GOES_HERE (此处需要有效的访问令牌,但您可以使用应用访问令牌 - 请参阅下文)
  3. 与Facebook页数相同

    1. 您可以通过以下方式直接获得相应的计数:https://graph.facebook.com/FacebookDevelopers/?fields=likes&access_token=TOKEN_GOES_HERE (此处需要有效的访问令牌,但您可以使用应用访问令牌 - 请参阅下文)
    2. 如何获取永久访问令牌(应用访问令牌)

      您可以使用用户访问令牌来获取这些结果,但通常用于非选项的类似计数脚本。

      您需要使用App Access令牌,这样您才能运行脚本"离线"没有活动的用户访问令牌会话。以前您必须请求应用程序访问令牌,现在它就像使用|连接应用程序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.stackoverflow.com"

      Here是实际链接。截至本文撰写时,大约有200个喜欢和2000多个股票,所以它有很大的不同......

答案 1 :(得分:3)

答案 2 :(得分:2)

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