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

Я хочу попросить пользователя предоставить разрешение «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/#display, в которой говорится об использовании «iframe» в качестве отображения: «Из-за риска кликджекинга это допустимо только для некоторых определенных диалогов,и требует, чтобы вы передали действительный access_token "

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

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

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

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

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

0 голосов
/ 03 октября 2011

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

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

...