Facebook аутентификация openID для компании? - PullRequest
0 голосов
/ 30 июля 2011

Я внедрил систему аутентификации Google / Facebook на моем сайте. Я использую их соответствующий сервис для аутентификации пользователя, а затем использую результаты для создания экземпляров сеансов на моем конце. На Google One проблем нет, но на Facebook я наткнулся на загадку.

Я могу без проблем аутентифицировать пользователей, но при попытке аутентификации компании или другого типа страниц Facebook происходит сбой.

Например, используя GraphAPI, я могу получить значения, показанные в одном из их примеров https://graph.facebook.com/btaylor, и правильно их сохранить.

Но когда я пытаюсь использовать ту же систему для аутентификации компании (например, https://graph.facebook.com/nike), происходит сбой, поскольку объекты не являются частью пользовательских результатов, возвращаемых GraphAPI.

Обычные вещи, настраивающие вызов:

$FBcookie = get_facebook_cookie(YOUR_APP_ID, YOUR_APP_SECRET);
$user = json_decode(file_get_contents_curl('https://graph.facebook.com/me?access_token='.$FBcookie['access_token']));

А при сохранении результатов он отлично работает как пользователь:

$_Fname =$user->first_name;
$_Lname =$user->last_name;

Но при попытке получить доступ к ожидаемым атрибутам, показанным в примере Nike выше, ничего не возвращается.

Я даже попытался повторить объект, чтобы увидеть, что там:

<code>print('<pre>');
print_r($user);
print('
');

Для пользователя я вижу все, для не пользователя (компания, событие или другой тип страницы) я ничего не вижу.

Вопрос в том, видел ли кто-нибудь, какие другие объекты нам могут понадобиться для запроса через GraphAPI? Страницы разработчиков Facebook повсюду и не имеют реальных кратких руководств по этому вопросу.

Любая помощь будет высоко ценится;)

1 Ответ

0 голосов
/ 30 июля 2011

Информация о компании / странице на Facebook выглядит следующим образом:

$user->id;
$user->name;
$user->picture;
$user->link;
$user->likes;
$user->category;
$user->website;
$user->username;
$user->description;
$user->public_transit;

То есть $user->first_name; и $user->last_name; не существует.

Вы можете попробовать что-то вроде этого:

if(empty($user->first_name)&&empty($user->last_name)){

//probably company set $user->username;

}
...