Эй, я пишу приложение холста для Facebook. Я использую команду:
$user_id = $facebook->require_login();
Для получения идентификатора пользователя но на уровне первых нескольких страниц моего приложения, я не хочу требовать входа в систему, но если бы пользователь вошел в систему, я хотел бы знать, каков идентификатор пользователя. В основном мне нужен a get_login()
управляйте, чтобы, возможно, возвратился 0 или пустой указатель, если пользователь не зарегистрирован. Есть ли что-нибудь как этот?
Если вы пишете приложение FBML, то на каждой странице вашего приложения Facebook будет передавать набор данных в строке запроса запроса страницы. Все эти параметры имеют префикс fb_sig
и составляют информацию проверки для пользователя. Вам вообще не нужно запрашивать API.
Когда вы создаете экземпляр объекта $ facebook
из стандартной клиентской библиотеки PHP, используя что-то вроде $ facebook = new Facebook ('api key', 'secret key');
, код Facebook автоматически проверяет все эти параметры за вас и сохраняет результат как часть объекта Facebook.
В результате вы можете просто сделать следующее, чтобы определить, вошел ли пользователь в систему:
$facebook = new Facebook('api key','secret key');
$fbId = $facebook->get_loggedin_user();
Если были получены все правильные параметры, вы получите идентификатор пользователя Facebook. Я считаю, что в противном случае вы получите null
.
Обратите внимание, что при создании приложения iframe следует учитывать и другие факторы, поскольку Facebook Connect установит файлы cookie, срок действия которых не обязательно истечет, когда пользователь выйдет из Facebook. Подпись всегда действительна, поэтому, если вы получите идентификатор от get_loggedin_user ()
, вы можете быть уверены, что это правильный идентификатор.