Я пытаюсь получить Zip-код пользователя, используя API-интерфейс facebook. Я использую для этого следующий код. Код находится в php.
$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.
Если вы проверите документацию для вызова /me
адресу https://developers.facebook.com/docs/reference/api/user/, вы заметите, что ссылки на почтовый индекс или почтовый индекс пользователя отсутствуют.
Я бы рекомендовал вам использовать запрос для разрешения user_location
а затем позвонить /me?fields=location
user_location
/me?fields=location
и попытаться получить почтовый индекс из содержащейся в нем информации – этот ответ https://stackoverflow.com/a/7129344/2091159 – имеет некоторая информация об этом.
Это эквивалент JavaScript, который вы хотите, я думаю:
FB.api('/me', function(user){ FB.api('/' + user.location.id, function(location){ alert(location.location.zip); }); })