阅读Facebook Graph API - 访问令牌错误

时间:2016-03-03 09:35:12

标签: facebook-graph-api oauth-2.0

我想要的是获取有关FB页面的基本信息(页面总页数,页面发布的帖子)。使用Facebook Javascript SDK我遇到了问题。

window.fbAsyncInit = function() {

        FB.init({
            appId: '12345', //My app id 
            xfbml: true,
            version: 'v2.5'
        });

        /* make the API call */
        FB.api(
            "/128155725517",
            'GET',
            // {"fields":"id,name"},
            function(response) {
                if (response && !response.error) {
                    console.log(response);
                }
            }
        );
    };

    (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'));

我得到的回应是:

/**/ FB.__globalCallbacks.f1084b047c({"error":{"message":"An access token is required to request this resource.","type":"OAuthException","code":104,"fbtrace_id":"HUcIot7YeoH"}});

我的问题是:我可以从图谱API请求没有用户访问令牌吗?他们是否必须登录才能获取访问令牌以便我从Graph API中读取信息?我是否可以创建一个始终有效的令牌,无论网站访问者是否登录到FB?

提前致谢。

1 个答案:

答案 0 :(得分:1)

无需登录,您只能使用“App Access Token”。它只是App ID和App Secret的组合 - 当然,你永远不应该在客户端代码中使用它。如果页面受年龄或位置限制,则需要使用用户令牌或页面令牌。

有关令牌及其生成方式的更多信息: