Так что, возможно, документация устарела, или я здесь только что. Но я сделал множество приложений iframe для FB (подключение), но я запускаю свой первый сайт FB Connect. Запускается с локального хоста, а URL-адрес подключения - http:// my_external_IP_address
. Когда я нажимаю кнопку входа в FB на моем сайте, он появляется, говорит, что ждет Facebook, и возвращает мой сайт в этом поле, с URL вверху и http:// mysite/?session={session key, user_id, etc.}
. User_id влияет на мой идентификатор FB. И поэтому он думает, что я вошел в систему. Если я закрываю всплывающее окно, я не вошел в систему. Я не уверен, почему всплывающее окно не делает нормальный диалог подключения fb. Я следую за этими шагами.
(Я добавил пробелы в http: //, чтобы они не определялись как «спам»)
html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"
- сразу после
<body> <script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript">
- В конце, перед тегом закрытия тела:
script type="text/javascript">
FB.init("fbkey", "http://127.0.0.1/xd_receiver.htm");
Я попытался использовать xd_receiver.htm
, /xd_receiver.htm
(и другие комбинации), и это приводит к пустой странице. использование http://127.0.0.1 по крайней мере что-то делает.
В моем конфигурационном файле, который вызывается раньше всех, он проверяет наличие сеансового ключа PHP
чтобы увидеть, если они вошли в систему, если он не существует, он ищет cookie, и если он не существует, он делает это:
require_once('includes/facebook.php');
$facebook = new Facebook($fbkey, $fbsec);
$user_id = $facebook->get_loggedin_user();
if($user_id > 0){
$user = $ac->getUserFromFB($user_id);
$_SESSION['user_id'] = $user['user_id'];
}
user_id всегда пуст, когда я выводлю его на экран для проверки. Событие сеанса также никогда не происходит. Так что я не знаю, что он делает во всплывающем окне, но я думаю, что Facebook считает, что он регистрирует меня. Не уверен. Довольно озадачен этим. Любая помощь будет оценена. Спасибо!