我想檢索使用臉譜圖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