2009-11-12 2 views
0

Как я могу получить информацию о пользователе в facebook, такую ​​как имя, страна и т. Д., Не заставляя его войти в систему, используя fb connect, и т. Д., Если я уже знаю его идентификатор facebook?Получение информации о Facebook

Я имею в виду, могу ли я использовать клиент php facebook, чтобы получить эти данные, не запрашивая логин, если я уже знаю идентификатор facebook?

Заранее спасибо :)

ответ

3

Вы не можете получить эту информацию только с facebook идентификатором, если человек, который принадлежит информации, не сделал эту информацию общественности (что почти никто не имеет).

Единственное решение, которое я вижу, - попросить ваших пользователей получить расширенное разрешение «offline_access». Насколько я знаю, вы можете делать это только из приложения facebook или через библиотеку javascript Facebook Connect (так, например, не с библиотекой PHP).

Это означает, что вам нужно будет попросить пользователей войти в facebook через fb: подключиться по крайней мере один раз, запросить офлайн-доступ и сохранить сеанс facebook sessionKey в локальной базе данных. Поскольку у вас сейчас офлайн-доступ, сеанс сеанса facebook не истекает, и вы можете войти в систему без участия пользователя.

Это, как я реализовал на стороне PHP сервера после достижения постоянной сессии:

$this->fb = new Facebook($settings["api_key"], $settings["secret"], false, true); 
$this->fb->user = $facebookUserId; 
$this->fb->api_client->session_key = $sessionKey; 
$this->fb->api_client->set_user($facebookUserId); 
0

Единственный способ получить личную информацию пользователей, если у вас есть приложение, и пользователь дал ему доступ. Затем вы можете захватывать любые данные с помощью запроса FQL.

$facebook->api_client->fql_query(
     "SELECT first_name, last_name, location 
     FROM user 
     WHERE uid={$userid}, 
     AND is_app_user;" 
    ); 
Смежные вопросы