我想检索使用脸谱图API的用户的邮政编码。我正在使用此代码。代码是在PHP中。通过脸谱图API检索Facebook用户的邮政编码
$facebook = new Facebook(array(
'appId' => APP_ID,
'secret' => APP_SECRET,
));
$user = $facebook->getUser();
//$login_url = $facebook->getLoginUrl(array('scope' => 'email'));
$login_url = $facebook->getLoginUrl(
array(
'scope' => 'email,publish_stream,user_birthday,user_location,user_work_history,user_about_me,user_hometown'
)
);
//get user basic description
//$userInfo = $facebook->api("/$user");
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
在这里,我得到$ user_profile数组,它具有除邮政编码以外的所有信息。但我给了这个许可。有没有办法从Facebook获取邮政编码?
你根本不能只从一个城市名获得邮政编码。许多城市都有很多邮政编码。最糟糕的不是这个,而是意识到并不是所有的数据库都具有相同格式的位置名称,并且使用字符串进行搜索是很痛苦的,甚至更糟糕的是,重复的位置名称遍布任何国家。 您最好的机会是在登录完成后直接询问用户。不建议这样搜索。我已经处理过这些问题,如果你想在不同的国家这样做,你会变得疯狂。 – appartisan
查看提供的链接 –
我认为这个链接并没有解决问题,@Reuben Thompson。如果您从Facebook API提供的位置获得“西班牙马德里”,则无法获得一个邮政编码,因为马德里市拥有大约63个不同的邮政编码。更糟糕的是,你不确定用户是否在马德里(马德里地区),因为该国有其他'马德里'城市,facebook的位置不提供这些信息。最后,在城镇名称中寻找文本巧合通常不是一种选择,因为不同的数据库保存不同的版本(洛杉矶 - 洛杉矶城市 - 洛杉矶,洛杉矶)...... – appartisan