Как получить «проверенный» статус пользователя с помощью PHP - PullRequest
0 голосов
/ 02 января 2012

У меня есть логин Facebook Connect на моем веб-сайте, и я использую его для получения данных о моих пользователях. Одна вещь, которую я хочу знать, был ли пользователь проверен Facebook. Я вижу это в документации просто как «проверенное» значение. Я просил некоторые основные параметры доступа, когда пользователь авторизует мое приложение, поэтому я думаю, что я должен иметь к нему доступ. Но когда я пытаюсь вернуть значение, я просто получаю ноль.

Мой код выглядит примерно так:

if ($facebook->getSession()) {
$uid = $facebook->getUser();          
$fbme = $facebook->api('/me');          
} else {          
$params = array(     
'fbconnect'=>0,
'canvas'=>1,    
'req_perms'=>'email,user_birthday,user_location,user_about_me'
); 

$birthday=$fbme['birthday'];
echo "Birthday=$birthday"; //This works
$verified=$fbme['verified'];
echo "Verified=$verified"; //This just shows nothing.

Хорошо, vardump дает мне следующее. Я вижу это там. Я думаю, я должен выяснить, как извлечь его сейчас. (Не волнуйтесь, это тестовый пользователь, и я изменил некоторые данные, поэтому я не раскрываю здесь никакой личной информации)

Пользователь # 1 (вернул проверенное значение):

{ ["id"]=> string(10) "1503999261" ["name"]=> string(12) "Monique Bush" 
["first_name"]=> string(7) "Shane" ["last_name"]=> string(4) "Bush" ["link"]=> string(49)
 "http://www.facebook.com/profile.php?id=1503999221" ["birthday"]=> string(10) "02/17/1974"
 ["hometown"]=> array(2) { ["id"]=> string(0) "" ["name"]=> NULL } ["location"]=> array(2) 
{ ["id"]=> string(0) "" ["name"]=> NULL } ["bio"]=> string(24) "I just like to have fun!" 
["gender"]=> string(6) "female" ["email"]=> string(22) "myemail@gmail.com" 
["timezone"]=> int(-5) ["locale"]=> string(5) "en_US" ["verified"]=> bool(true) 
["updated_time"]=> string(24) "2011-04-17T14:24:16+0000" } fbid=1503999221

Пользователь # 2: (вообще ничего не возвращено. Даже не ложно)

{ ["id"]=> string(15) "100003353106485" ["name"]=> string(14) "Randy Mason" 
["first_name"]=> string(5) "Randy" ["last_name"]=> string(8) "Mason" ["link"]=> 
string(54) "http://www.facebook.com/profile.php?id=100003353106485" ["birthday"]=> 
string(10) "02/05/1985" ["work"]=> array(1) { [0]=> array(1) { ["employer"]=> array(2) 
{ ["id"]=> string(15) "107572525938726" ["name"]=> string(3) "IBM" } } } 
["education"]=> array(2) { [0]=> array(3) { ["school"]=> array(2) { ["id"]=> string(15) 
"107705972591905" ["name"]=> string(55) "Thomas Jefferson High School for Science and 
Technology" } ["year"]=> array(2) { ["id"]=> string(15) "194603703904595" ["name"]=> 
string(4) "2003" } ["type"]=> string(11) "High School" } [1]=> array(3) { ["school"]=> 
array(2) { ["id"]=> string(11) "56827075005" ["name"]=> string(31) "The College of 
William and Mary" } ["year"]=> array(2) { ["id"]=> string(15) "142963519060927" 
["name"]=> string(4) "2010" } ["type"]=> string(7) "College" } } ["gender"]=> string(4) 
"male" ["email"]=> string(22) "rsmithson505@gmail.com" ["timezone"]=> int(-7) 
["locale"]=> string(5) "en_US" ["updated_time"]=> string(24) "2011-12-31T22:29:34+0000" } 

Так что я могу работать с этим. Однако мне интересно, почему я не получаю даже ложь во втором сценарии.

1 Ответ

1 голос
/ 02 января 2012

Пока verified будет всегда true, когда учетная запись действительно подтверждена - вы можете просто перейти с

$verified = !empty($fbme['verified']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...