2010-06-23 4 views
0

Я пытаюсь связать свой сайт с Facebook.Почему моя кнопка Facebook Connect приводит меня к неправильному URL?

Если я вызываю метод в SDK PHP, называемый getLoginUrl(), он возвращает правильный URL-адрес для входа. Этот URL-адрес содержит ряд параметров, один из которых - мой ключ API, и он правильный. Это URL-адрес, на который меня должна привести моя кнопка «Подключить».

Однако, когда я на самом деле нажимаю кнопку «Подключиться» на своем сайте, всплывающее окно открывается и говорит «Указан неверный ключ API». С некоторой проверкой, я вижу, что URL-адрес в этом всплывающем меню говорит «api_key = undefined». Фактически, URL-адрес полностью отличается от URL-адреса для входа.

Любая идея, почему это происходит? Только конфликты, которые я могу себе представить, это codeigniter или jQuery.

Трудно быть более конкретным. Я предполагаю, что для этого потребуется хорошее знание SDK для Facebook.

Большое спасибо. :)

ответ

1

PHP должен обрабатывать только обратный вызов входа в систему, если необходимо, логин должен быть выполнен через javascript.

FB инициализации апи:

<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
<script> 
    FB.init({ 
     appId : appId, 
     status : true, 
     cookie : true, 
     xfbml : true 
    }); 
</script> 

Затем вы можете вызвать диалоговое окно входа в систему FB на некоторой кнопке:

FB.login(function(response) { 
    //callback 
}, {perms:'publish_stream'}); 

Кроме того, убедитесь у вас есть правильные настройки в вашем фб приложение на вкладке "Connect" - «Подключить URL» и «Базовый домен» должны быть установлены. Если они ссылаются на неправильный домен, вы не сможете войти в систему.

+0

Я запускаю сайт на localhost. Что делать с настройками вкладки Connect? (не в моей квартире в данный момент, так что не могу проверить вещи). Благодарю. :) –

+0

См. Этот ответ: http://stackoverflow.com/questions/3057089/dw-cs5-run-facebook-applications-on-local-server/3057559#3057559 – serg

+0

Мне удалось правильно настроить параметры подключения, но он все равно не сработает. Я использовал ваш код инициализации API и , но когда я нажимаю кнопку входа в систему, я все равно получаю ту же ошибку «Недопустимый API-ключ», и URL-адрес говорит api_key = undefined. Откуда у JS есть api_key? Я вообще не указываю ключ API. Просто идентификатор приложения и секретный ключ. –