我正在尝试获取已登录用户的管理员所有页面的列表,但我收到错误“必须使用活动访问令牌来查询有关当前用户的信息”。这是我正在使用的代码:
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”)获取列表。那么为什么我不能使用这段代码呢?我究竟做错了什么?感谢。
答案 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。这对恕我直言没有多大意义。