获取所有Pages用户是使用Graph API的管理员

时间:2015-12-15 04:09:00

标签: facebook facebook-graph-api

我正在尝试获取已登录用户的管理员所有页面的列表,但我收到错误“必须使用活动访问令牌来查询有关当前用户的信息”。这是我正在使用的代码:

function login(){
    FB.login(function(response) {
        if (response.authResponse) {

            $.get("https://graph.facebook.com/me/accounts", function(data) {
                alert( "success" );
            })
            .done(function() {
                alert( "second success" );
            })
            .fail(function(data) {
                alert( "error" );
            })
            .always(function() {
                alert( "finished" );
            });

        } else {
            // not auth / cancelled the login!
        }
    }, { scope: "manage_pages" });
}

所以在这段代码中,登录后,调用$ .get(“https://graph.facebook.com/me/accounts”)会抛出错误。

更新

我可以使用FB.api(“/ me / accounts”)获取列表。那么为什么我不能使用这段代码呢?我究竟做错了什么?感谢。

1 个答案:

答案 0 :(得分:2)

简单:您没有通过直接请求传递用户访问令牌:

$.get("https://graph.facebook.com/me/accounts", function(data) { ... });

而不是

var accessToken = "aoidhfgoafhgoidfhg"; // replace with real access token
$.get("https://graph.facebook.com/me/accounts?access_token=" + accessToken, function(data) { ... });

FB SDK在内部/自动执行此操作。我不清楚的是,如果你已经在FB登录中使用FB SDK,那么为什么你不在这里使用FB SDK。这对恕我直言没有多大意义。