Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Facebook sdk.js错误_Javascript_Facebook_Facebook Javascript Sdk - Fatal编程技术网

Javascript Facebook sdk.js错误

Javascript Facebook sdk.js错误,javascript,facebook,facebook-javascript-sdk,Javascript,Facebook,Facebook Javascript Sdk,我使用FacebookAPI获取我的站点的共享数。如果我用我的帐户登录,一切正常。但若用户使用不同的帐户登录,那个么他在facebook sdk.js文件中会出现错误 js:格式化:4150Uncaught TypeError:无法读取未定义(…)的属性“accessToken” 我公开了我的应用程序,我不知道还能做什么。 这是我的密码 (function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.g

我使用FacebookAPI获取我的站点的共享数。如果我用我的帐户登录,一切正常。但若用户使用不同的帐户登录,那个么他在facebook sdk.js文件中会出现错误

js:格式化:4150Uncaught TypeError:无法读取未定义(…)的属性“accessToken”

我公开了我的应用程序,我不知道还能做什么。 这是我的密码

(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/en_US/sdk.js";
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));
  window.fbAsyncInit = function() {
    FB.init({
      appId: '1836193963304496',
      xfbml      : true,
      version    : 'v2.8'
    });
  };
FB.getLoginStatus(function(response) {
        var accessToken = response.authResponse.accessToken;
        var url="https://graph.facebook.com/v2.8/?access_token="+accessToken+"&format=json&id="+encodeURIComponent(location.href)+"&method=get&pretty=0&suppress_http_code=1"
        $.get(url,{},function(response){
            if(response.share.share_count>0){
                $(".social-likes__counter_facebook").html(response.share.share_count).removeClass('social-likes__counter_empty');
            }

        });
    });

只有先使用
FB.login
对用户进行授权,才能使用JS SDK获得访问令牌。我假设您不想这样做,因为您只想显示URL的相同计数。正确的方法是使用appaccess令牌,但您必须在服务器端使用它,而不是在客户端使用JavaScript。您需要对令牌保密,并且还应该在服务器上实现缓存,否则用户太多会导致API限制

有关访问令牌的更多信息:


调试getLoginStatus:console.log(响应)的响应。里面有什么?上面说我没有授权…这告诉你什么?顺便说一句,为什么你在api调用中使用jquery get,而不是js sdk?您也可以只使用querySelector和innerHTML,在相同的代码量下不依赖于jquery。好的,现在我明白您想要实现什么了……好吧,这是错误的方法。我将补充一个答案。