gpt4 book ai didi

javascript - Facebook JS API : Not receiving user email despite asking for permissions

转载 作者:行者123 更新时间:2023-11-28 20:26:42 24 4
gpt4 key购买 nike

对于我的 Facebook Canvas 应用程序,我一直在尝试访问用户的电子邮件。即使我要求它,它仍然没有出现(生日,这也是一个额外的许可,确实出现了)。 (在addscope函数中)

<html>
<head></head>
<body>
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '--------------', // App ID
channelUrl : 'http://www.---------.com/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});


FB.Event.subscribe('auth.statusChange', function(response) {
if(response.status === 'connected')
{
console.log('Hello there!');
addScope();

}
else if(response.status === 'not_authorized')
{
console.log('not authorized');
addScope();

}
else
{
console.log('not logged in');
addScope();
}
});



FB.Event.subscribe('auth.authResponseChange', function(response) {
// Here we specify what we do with the response anytime this event occurs.
if (response.status === 'connected') {
// ...
} else if (response.status === 'not_authorized') {
// ...

} else {
//...
}
});
};

// Load the SDK asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));


function addScope()
{
FB.login(function(response) {
if (response.authResponse) {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
console.log('In addscope function, ' + response.email + response.birthday);
});
} else {
console.log('User cancelled login or did not fully authorize.');
}
},{scope: 'email,user_birthday'});

}
</script>

</body>
</html>

最佳答案

查看代码是否设置了正确权限的有效方法是使用以下代码(更改要在查询部分检查的字段):

FB.api({ method: 'fql.query', query: 'SELECT user_status,friends_status,user_photos,friends_photos,user_location,friends_location FROM permissions WHERE uid=me()' }, function(resp) {   
for(var key in resp[0]) {
if(resp[0][key] === "1")
console.log(key+' is granted');
else
console.log(key+' is not granted');
}
});

用户可能没有授予访问电子邮件 ID 的权限。

关于javascript - Facebook JS API : Not receiving user email despite asking for permissions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17249901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com