Неверный 'client_id' при использовании тега fb: registration XFBML (FB.getSession несовместим с OAuth2) - PullRequest
1 голос
/ 26 сентября 2011

Я пытаюсь использовать тег fb: registration XFBML.По большей части это, кажется, работает;однако, когда я нажимаю «X» в поле имени и затем нажимаю «Выйти», я получаю сообщение об ошибке

Неверный 'client_id'.

Хотя этопроизошла ошибка, похоже, фактический процесс выхода был успешным;если я вручную обновляю страницу, я получаю форму в состоянии выхода из системы.Я попытался обойти эту проблему, подписавшись на события auth.logout и перезагрузив страницу, но ошибка не позволяет запускать события до тех пор, пока не перезагрузится страница.

Используя firebug, я обнаружил, что настоящая ошибка javascriptравен FB.getSession incompatible with OAuth2 и вызывается в строке 9 из connect.facebook.net/en_US/all.js.Я не вызываю ничего, связанного с сессиями, поэтому я не совсем уверен, почему это происходит.

Я пытался использовать Firefox, Chrome и Safari, и все три испытывают проблему.Кроме того, в Safari и Chrome я также получаю ту же ошибку при попытке войти с помощью плагина регистрации.Если я обновляю вручную, ошибка исчезает, и процесс входа в систему проходит успешно, как и при выходе из системы.

Я запускаю это локально во время разработки, и поэтому я создал приложение facebook только для тестирования с URL сайта иссылка на домен localhost.Я не в режиме песочницы и загружаю js sdk следующим образом:

<div id="fb-root"></div>
<script src="{$pageProtocol}connect.facebook.net/en_US/all.js"></script>
<script>
    FB.init({
    appId: {$facebookAppId},
    cookie: true,
    xfbml: true,
    status: true,
    channelUrl: '{$pageProtocol}{$webhost}/{$channel}',
    oauth: true
});

(Это вызывается из шаблона smarty; я посмотрел на сгенерированный источник и все {$ var}биты заменяются правильно.)

Вот мой тег xfbml:

<fb:registration
redirect-uri="http://localhost:8888/join?with=facebook&done=true" 
fields='[{"name":"name"},
     {"name":"email"},
     {"name":"city", "description":"City", "type":"select", "options":{
        "_98":"Albany / Capital Region",
        "_3":"Albuquerque",
        "_99":"Allentown / Reading"
            }
     }
fb_only = true
>
</fb:registration>

(я сократил список городов выше.)

Так что если кто-нибудь сможет выяснить, чтоЯ делаю что-то не так, пожалуйста, дайте мне знать.

Изображения:

из этого модального сообщения: http://i.stack.imgur.com/sVN1E.png

нажмите Выйти, и вы получите: http://i.stack.imgur.com/eiLwY.png

...