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

Xav*_*ier 4 javascript php facebook cross-domain

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

任何帮助表示赞赏.

Aro*_*ron 16

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

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

像网址计数一样:

  1. 首先,您需要获取URL的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 (您需要一个有效的访问令牌,但您可以使用app access token - 见下文)

就像Facebook页面的数量一样:

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

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

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

您将需要使用App Access Token,这将允许您在没有活动用户访问令牌会话的情况下"脱机"运行脚本.以前您必须请求应用程序访问令牌,现在它就像使用|连接应用程序ID和秘密一样简单 如下:

MY_APP_ID|MY_APP_SECRET
Run Code Online (Sandbox Code Playgroud)

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

https://graph.facebook.com/10150180465825637/likes/?summary=true&access_token=MY_APP_ID|MY_APP_SECRET
Run Code Online (Sandbox Code Playgroud)

请记住,由于此请求需要应用程序密钥,因此您应始终在服务器端执行此请求.客户端请求会将您的应用秘密暴露给每个人.


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

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

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