获取Facebook喜欢通过javascript SDK计数

Grz*_*orz 1 javascript facebook facebook-javascript-sdk

我有以下脚本:

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'app_id_of_one_of_my_apps',
      xfbml      : true,
      version    : 'v2.7'
    });

    FB.api("/{numerical_profile_id}/likes",
    function (response) {
        console.log(response);
      if (response && !response.error) {
        /* handle the result */
      }
    });


  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/pl_PL/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));

</script>
Run Code Online (Sandbox Code Playgroud)

我得到的只是错误 An access token is required to request this resource

我如何通过javascript安全地获取Facebook粉丝页数?或者我需要制作一个PHP脚本来为我做这个吗?

lus*_*chn 9

这是获取粉丝数量的API:

/{page-id}?fields=fan_count
Run Code Online (Sandbox Code Playgroud)

...或使用JavaScript SDK:

FB.api('/{page-id}', {fields: 'fan_count'}, (response) => {
    console.log(response);
});
Run Code Online (Sandbox Code Playgroud)

如果页面不受年龄或位置限制,您可以使用App令牌,但必须使用令牌服务器端.代币总是被保密.App Token不需要登录,它只是App ID和App Secret(ID | Secret)的组合,它是永久性的.

有关令牌的更多信息:

旁注:您应该首先执行该API调用服务器端并将结果缓存到您的数据库中,否则如果您获得大量用户/点击,您肯定会达到API限制.