使用 Facebook SDK 获取用户电子邮件
Get a users email with Facebook SDK
我使用 JS Facebook SDK 成功登录了用户,并且我能够检索用户名。但是,我似乎无法弄清楚如何检索用户的电子邮件。我尝试在 3 个不同的地方添加 {scope:'email'}
,我尝试将电子邮件放在 api 调用的字段中,FB.api('/me', {fields: 'email'}...
我的项目在 angular。我在用户单击 facebook 登录按钮时登录用户。下面是我的代码。所有这些代码都在我的 ngOnInit
函数
中
window['fbAsyncInit'] = () => {
FB.init({
appId : '...',
autoLogAppEvents : true,
xfbml : false,
version : 'v2.12'
}, {scope:'email'}); //scope for FB.init
console.log('fb',FB);
FB.Event.subscribe('auth.statusChange', (response) => {
if (response.status === 'connected') {
console.log(response.authResponse);
FB.api('/me', {fields: 'email'}, (res) => {
console.log(res);
}, {scope:'email'}); //scope for FB.api
} else if (response.status === 'not_authorized') {
console.log(response.status);
} else {
console.log(response);
}
}, {scope:'email'}); //scope for FB.Event
};
(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 = 'https://connect.facebook.net/en_US/sdk.js';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
这是我的 html 按钮
<div class="fb-login-button" data-max-rows="1" data-size="large"
data-button-type="continue_with" data-show-faces="false"
data-auto-logout-link="false" data-use-continue-as="false">
</div>
范围参数只有一处正确:
<div
class="fb-login-button" data-max-rows="1" data-size="large"
data-button-type="continue_with" data-show-faces="false"
data-auto-logout-link="false" data-use-continue-as="false"
data-scope="email"
>
</div>
我使用 JS Facebook SDK 成功登录了用户,并且我能够检索用户名。但是,我似乎无法弄清楚如何检索用户的电子邮件。我尝试在 3 个不同的地方添加 {scope:'email'}
,我尝试将电子邮件放在 api 调用的字段中,FB.api('/me', {fields: 'email'}...
我的项目在 angular。我在用户单击 facebook 登录按钮时登录用户。下面是我的代码。所有这些代码都在我的 ngOnInit
函数
window['fbAsyncInit'] = () => {
FB.init({
appId : '...',
autoLogAppEvents : true,
xfbml : false,
version : 'v2.12'
}, {scope:'email'}); //scope for FB.init
console.log('fb',FB);
FB.Event.subscribe('auth.statusChange', (response) => {
if (response.status === 'connected') {
console.log(response.authResponse);
FB.api('/me', {fields: 'email'}, (res) => {
console.log(res);
}, {scope:'email'}); //scope for FB.api
} else if (response.status === 'not_authorized') {
console.log(response.status);
} else {
console.log(response);
}
}, {scope:'email'}); //scope for FB.Event
};
(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 = 'https://connect.facebook.net/en_US/sdk.js';
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
这是我的 html 按钮
<div class="fb-login-button" data-max-rows="1" data-size="large"
data-button-type="continue_with" data-show-faces="false"
data-auto-logout-link="false" data-use-continue-as="false">
</div>
范围参数只有一处正确:
<div
class="fb-login-button" data-max-rows="1" data-size="large"
data-button-type="continue_with" data-show-faces="false"
data-auto-logout-link="false" data-use-continue-as="false"
data-scope="email"
>
</div>