我正在开发一个使用Facebook API的应用程序。脸书连接。原来我无法获得电子邮件属性。问题出在哪里?
FB.init({
appId : 'CODE',
status: true,
cookie: true,
xfbml: true,
});
function statusFacebook() {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
FB.api('/me', function(resp) {
var nome = resp.name;
var email = resp.email;
var token = response.authResponse.accessToken;
});
} else if (response.status === 'not_authorized') {
loginFacebook(); // nao autorizado, solicitar login
}
else {
loginFacebook(); // nao autorizado, solicitar login
}});
}
function loginFacebook() {
FB.login(function(response) {
if (response.authResponse) {
FB.api('/me', function(resp) {
var nome = resp.name;
var email = resp.email;
var token = response.authResponse.accessToken;
}, {scope: 'email'});
}
});
}
拥有权限和其他人,但不起作用。按钮是:<a href="##" onClick="statusFacebook();">Login Facebook</a>
试试这个:
function loginFacebook() {
FB.login(function(response) {
if (response.authResponse) {
FB.api('/me', function(resp) {
var nome = resp.name;
var email = resp.email;
var token = response.authResponse.accessToken;
});
}
}, {scope: 'email'});
}
如规范中所述,必须将scope
声明为函数FB.login()
第二个参数:
FB.login(function(response) {
// handle the response
}, {scope: 'email,user_likes'});
https://developers.facebook.com/docs/reference/javascript/FB.login/