【发布时间】:2017-10-30 23:57:45
【问题描述】:
我目前正在测试通过 facebook 创建登录。它易于使用,但我无法通过 api 获取邮件地址。
这是我的代码,希望你们知道可能出了什么问题。
/*
Facebook SDK
*/
(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 = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
window.fbAsyncInit = function() {
FB.init({
appId : '138095353404106',
autoLogAppEvents : true,
xfbml : true,
version : 'v2.9'
});
FB.AppEvents.logPageView();
};
function checkLoginState()
{
FB.getLoginStatus(function(response)
{
statusChangeCallback(response);
});
};
function statusChangeCallback(response)
{
if (response.status === 'connected')
{
testAPI();
};
};
function testAPI()
{
FB.api('/me', {fields: "id,first_name,last_name,email"}, function(response)
{
console.log(response);
});
FB.api('/me/picture', {type: "large"}, function(response)
{
console.log(response);
});
};
ID、名字和姓氏都在那里。我只是错过了电子邮件。控制台中没有错误。
PS
还包括 HTML 标签:
<div class="fb-login-button" onlogin="checkLoginState();" data-max-rows="1" data-size="medium" data-button-type="login_with" data-show-faces="false" data-auto-logout-link="false" data-use-continue-as="true"></div>
【问题讨论】:
-
你在哪里请求用户访问他们的电子邮件?
-
我忘了说,我还添加了 html 标签
-
所以你根本没有请求许可。
-
我对来自 facebook 的 api 东西真的很陌生。我需要吗?
-
当然可以。
标签: javascript facebook api