当我使用FBSDK包装器登录我的用户时,我使用:
LoginManager.logInWithReadPermissions(['public_profile', 'email']).then(result => {
// find user information here if accepted
});
我确实在回复中找到了电子邮件地址,也找到了用户的photoURL。但是,我真的需要单独的名字和姓氏。我只得到一个名为displayName
的属性,它在一个字符串中包含名字和姓氏。
我不想做一些hacky事情,比如在字符串的第一个空格处拆分以获得名字,因为它不会一直工作(用户可能有一个中间名?)。
Facebook确实指定您获得一个名为first_name
&的字段last_name
根据the official docs返回。
任何人都知道我如何能够可靠地获取用户的名字和姓氏?
谢谢!
答案 0 :(得分:1)
您需要询问您想要获得的字段,否则您只会获得默认字段。例如,您可以通过此API调用获取first_name和last_name字段:
const infoRequest = new GraphRequest('/me', {
parameters: {
fields: {
string: 'first_name,last_name'
}
}
}, (error, result) => {
if (error) {
console.log('Error fetching data: ' + error.toString());
} else {
console.log('Success fetching data: ' + result.toString());
}
});
new GraphRequestManager().addRequest(infoRequest).start();