我正在尝试为我正在开发的应用程序实现Facebook登录。在
我正在获取这样的访问令牌:
<!DOCTYPE html>
<html>
<head></head>
<body>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : '[Redacted]',
xfbml : true,
version : 'v2.6'
});
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
window.location = "http://[my domain]/FBloginAuth?"+FB.getAuthResponse()["accessToken"]
} else {
window.location = encodeURI("https://www.facebook.com/dialog/oauth?scope=email&client_id=[redacted]&redirect_uri=http://[my domain]/FBloginAuth&response_type=token");
}
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "http://connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
<div id="status"></div>
</body>
</html>
然后,我的服务器从url中搜索访问令牌,如下所示(python2,因为我必须支持googleoauth SDK,它似乎不支持python3):
^{pr2}$我知道这不会解析url中有变量的情况。这不是重点。现在我正在亲手喂令牌。代码呕吐:
{u'id': u'[redacted]', u'name': u'[redacted]'}
我的问题是,当我设置了请求令牌的范围时,为什么电子邮件没有出现在响应中。另外,我应该怎么做才能收到电子邮件?在
确保
a)用户实际上已经向你的应用程序授予了权限(请求
/me/permissions
确认,使用相同的访问令牌),并且b)他们的电子邮件地址通过Facebook验证。(显然不是自动使用用于注册的电子邮件地址的情况。)
相关问题 更多 >
编程相关推荐