javascript - 如何使用 FB.login() 获取 facebook 的用户信息
问题描述
在我的代码中,我使用“FB.login()”函数来登录用户。使用下面的响应变量,我只能访问用户的 ID。是否可以检索用户的姓名和电子邮件?这是我的代码:
<script>
window.fbAsyncInit = function () {
FB.init({
appId: '531991481003168',
cookie: true,
xfbml: true,
version: 'v5.0'
});
FB.AppEvents.logPageView();
};
(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'));
</script>
<script async defer src="https://connect.facebook.net/en_US/sdk.js"></script>
<script type="text/javascript">
function statusChangeCallback(response) {
if (response.status !== "connected") {
FB.login(function (response) {
console.log(response);
});
}
}
$(document).ready(function () {
$("#btn-facebook").on("click", function() {
FB.getLoginStatus(function (response) {
statusChangeCallback(response);
});
});
});
</script>
Facebook 的文档真的很混乱,我找不到这个简单的东西。
解决方案
登录后,用于FB.api
获取附加数据:
FB.api('/me', {fields: 'name,email'}, (response) => {
document.getElementById('response').innerHTML = 'Hello ' + response.name;
});
示例:https ://www.devils-heaven.com/facebook-javascript-sdk-login/
推荐阅读
- regex - 递归列出包含 m of n 正则表达式的文件
- c - C、内存地址相同但值不同
- java - 如何固定 JComboBox 的大小?
- amazon-web-services - 如何将 SSL 证书添加到 Jenkins 凭据?
- vue.js - 为什么我的数据不显示在新行中?
- xslt - 在 XSLT 中选择节点,基于变量
- javascript - client.guilds 仅在日志中有效,在聊天中无效
- javascript - JavaScript 中的颜色变暗和变亮
- heroku - 在 Heroku 部署期间无法 cd 进入文件夹
- javascript - 在 React 中将 unix、UTC 时间从 API 端点转换为本地时间