当我登录我的facebook帐户时,我能够获得所有的对象(如状态和电子邮件)。当我尝试与另一个用户进行身份验证时,除了错误之外没有显示任何内容。请帮忙吗? ! ? !
function Login(){
FB.login(function(response){
if(response.authResponse){
alert(response.authResponse.accessToken);
console.log('Access Token: ' + response.authResponse.accessToken);
var accessToken = response.authResponse.accessToken;
var uid = response.authResponse.userID;
var postsURL = "https://graph.facebook.com/" + uid + "/statuses?limit=20&access_token=" + accessToken;
$.ajax({
url: postsURL,
method: 'GET',
datatype: "jsonp",
success: function(data){
console.log("Success!");
}, error: function(status){
console.log("Unsuccessful! With status: " + status);
}
});
$(document).ready(function(){
$.getJSON(postsURL, function(data){
var name = data.data;
for(var i=0; i<=19; i++){
console.log(i);
console.log('message: ' + name[i].message + 'ntime: ' + name[i].updated_time);
}
});
});
successButtonRemoval();
} else{
console.log('User cancelled login or did not fully authorize.');
}
},{scope: 'email,read_stream,user_status'});
您首先需要以自己的身份注销。随后,使用其他用户的凭据重新验证以获得新的访问令牌。
看来你还有其他一些问题。主要是你工作太努力了。在进行异步调用之后,将获取绑定到文档就绪事件。如果您试图在每次回调中做同样的事情,这可能会导致不正常的行为和重复的代码。
尝试登录并通过api调用访问SDK(类似于SDK中的api示例)。
function LoginAndDoOtherThings(){
FB.login(function(response){
if(response.authResponse){
console.log("Yay we are in!");
FB.api('/me', function(response) {
console.log("here is my info:");
console.log(response);
//do other things.
});
successButtonRemoval();
} else{
console.log('User cancelled login or did not fully authorize.');
}
},{scope: 'email,read_stream,user_status'});
请阅读有关web sdk登录流程的文档。
Facebook Login for Web with JavaScript SDK