Javascript SDK - 必须使用活动访问令牌来查询有关当前用户的信息

时间:2014-12-30 08:27:44

标签: javascript facebook sdk share

不是我第一次请求帮助,但我真的卡住了。

在我的网站上,当用户注册时,他获得了个人代码。我希望我的用户能够在他们的Facebook墙上共享该代码,只需点击一下按钮。

我的HTML代码:

<body>

    <script>

        window.fbAsyncInit = function() {
            FB.init({
                appId      : 'My app ID', // I did replace that with my app ID***
                status     : true, // check login status
                cookie     : true, // enable cookies to allow the server to access the session
                xfbml      : true  // parse XFBML
            });

            // Additional initialization code here

        };

        // Load the JavaScript SDK Asynchronously
        (function(d){
          var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
          js = d.createElement('script'); js.id = id; js.async = true;
          js.src = "//connect.facebook.net/en_US/all.js";
          d.getElementsByTagName('head')[0].appendChild(js);
        }(document));

    </script>

The rest of my Code...

在我的HTML底部:

<script src="//connect.facebook.net/en_US/all.js"></script> <!--Iv'e also tried to put that inside the <head> -->
<script type="text/javascript" src="js/js.js"></script> <!--My js file-->

发布功能(单击共享按钮):

var $message = 'msg';

        var body = 'Reading JS SDK documentation';
        FB.api('/me/feed', 'post', { message: body }, function(response) {
          if (!response || response.error) {
            console.log(JSON.stringify(response.error));
          } else {
            alert('Post ID: ' + response.id);
          }
        });

我收到此错误:  {“message”:“必须使用活动访问令牌来查询有关当前用户的信息。”,“type”:“OAuthException”,“code”:2500}

1 个答案:

答案 0 :(得分:1)

看看

您没有登录,因此您无法相应地发布到他们的墙上。这正是错误信息所说的内容。

为什么不坚持文档中的示例:

此外,您需要两次添加JS SDK。第一个异步加载就足够了!您无需在HTML代码中手动重新添加它。