[英]How to return access token facebook?
我不知道如何在 api FB.login 中同步,这是我的代码:
function getAccesToken(){
var access_token = "";
FB.login(function(response) {
if (response.authResponse) {
access_token = FB.getAuthResponse()['accessToken'];
} else {
console.log('User cancelled login or did not fully authorize.');
}
}, { scope: '' });
return access_token;
}
当我调用函数时
var access_token = getAccessToken();
但它返回空字符串。 我怎样才能修复它是同步的?
你不能让这个同步 - 如果可以的话,这将是非常糟糕的做法。 相反,调用包含访问令牌的FB.login
回调处理程序中的函数。 尝试这个:
function getAccesToken() {
FB.login(function(response) {
if (response.authResponse) {
loginComplete(FB.getAuthResponse()['accessToken']);
} else {
console.log('User cancelled login or did not fully authorize.');
}
}, { scope: '' });
}
function loginComplete(token) {
console.log(token);
// do something here, now the user is logged in...
}
FB.login
需要在用户交互(鼠标点击)时调用,您必须使用FB.login
的回调函数异步获取 Access Token - Access Token 将在响应值中。 例如:
document.getElementById('loginBtn').addEventListener('click', function() {
FB.login(function(response) {
if (response.authResponse) {
doSomethingWithTheToken(response.authResponse.accessToken);
}
}, {scope: 'email,public_profile', return_scopes: true});
}, false);
function doSomethingWithTheToken(token) {
console.log(token);
}
来源(以及更多关于 JavaScript SDK 的信息): http : //www.devils-heaven.com/facebook-javascript-sdk-login/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.