Диалоговое окно Facebook не вызывает функцию обратного вызова

Похоже, что метод FB.ui ='oauth' прекратил вызывать нашу функцию обратного вызова на производственном сайте. Вот наш код:

FB.ui(
        {
            method: 'oauth',
            client_id: '[outClienID]',
            redirect_uri: '[validRedirect_uri]',
            scope:'email, publish_stream',
            response_type: 'token',
            display: 'popup'
        },
        function(response) {
            FB.getLoginStatus(checkFBConnect, true);
        })

Я попытался заменить FB.getLoginStatus простым предупреждением, и оно никогда не вызывалось. Когда я вызываю FB.getLoginStatus(checkFBConnect, true); Вручную из консоли отладки процесс работает как задумано. Это как наша функция (ответ) никогда не вызывается через Facebook.

1 ответ

Выход из параметров *redirect_uri* и *response_type* разрешает это в приложениях canvas/pages:

        FB.ui({method: 'oauth',
        client_id: fb_app_id,
        state: new Date().getTime().toString(),
        /*
        redirect_uri: location.protocol + '//' + location.host + '/' + app_folder + '/oauth',
        response_type: 'token',
        */
        scope: 'email,publish_actions'
    }, callback);

С другой стороны, если ваше приложение не предназначено для запуска на холсте / странице, то верно, что ваша функция обратного вызова больше не будет вызываться, но вы можете обрабатывать токен oauth непосредственно на странице обратного вызова *redirect_uri*,

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