Всплывающее окно Fb.ui() работает, но диалог загружается навсегда

Я хочу попросить пользователя предоставить разрешение "publish_stream" моему приложению с помощью javascript sdk facebook.

Я инициализирую это так:

FB.init({
    appId  : '203702512703',
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true, // parse XFBML
    channelURL : 'http://mydomain.com/channel.php', // channel.html file
    oauth  : true // enable OAuth 2.0
});

И мой вызов FB.ui выглядит так:

FB.ui({
    client_id: '203702512703',
    method: 'oauth',
    scope: 'publish_stream',
    redirect_uri: 'http://mydomain.com/',
    response_type: 'token',
    display: 'dialog'
  });

Если я изменю "диалоговое окно" на "всплывающее", оно работает отлично. Но если я укажу 'dialog' или оставлю эту опцию вне поля, она покажет мне fb-div, но с анимацией загрузки (например, http://p.iqs.me/t1c4j), и содержимое никогда не загрузится.

Что я делаю неправильно?

ОБНОВЛЕНИЕ: я нашел эту страницу http://developers.facebook.com/docs/reference/dialogs/ которой говорится следующее об использовании "iframe" в качестве отображения: "Из-за риска перехвата кликов это разрешено только для некоторых определенные диалоги, и требует, чтобы вы передали действительный access_token "

Ничего подобного не говорит о мысли "диалог", но и iframe, и диалог дают одинаковый плохой результат.

Как мне пройти в access_token?

2 ответа

Решение

"popup" является обязательным для метода: "oauth" или FB.login для javascript SDK из-за безопасности (перехвата кликов и фишинга). Я бы предложил использовать FB.login в любом случае для получения разрешений или для аутентификации, потому что это более удобно.

надеюсь это поможет

Существует также несоответствие в способе использования display: iframe для FB.login в зависимости от того, находитесь ли вы на вкладке или на холсте. На вкладке вам не нужен access_token, а на холсте вы делаете.

Таким образом, на холсте вы застряли либо с заблокированными всплывающими окнами, либо с хорошим процентом пользователей, отказывающихся предоставить базовые разрешения для чего-то такого простого, как публикация на собственной стене, которую они инициировали. IMVHO FB нужно исправить это как можно скорее, но я регистрировал ошибку в течение нескольких месяцев, и никаких признаков изменений не было.

Другие вопросы по тегам