Facebook Connect «следующая» ошибка

Я пытаюсь экспериментировать с новой системой аутентификации facebook, и я не могу заставить login работать.

Я получаю следующее сообщение об ошибке:


Код ошибки API: 100

API Ошибка Описание: Неверный параметр

Сообщение об ошибке: следующее не принадлежит приложению.


URL-адрес, который отправляется в facebook:

http://www.facebook.com/connect/uiserver.php?app_id=444444444444444&next=http%3A%2F%2Fstatic.ak.fbcdn.net%2Fconnect%2Fxd_proxy.php%23%3F%3D%26cb%3Df357eceb0361a8a% 26origin% 3Dhttp% 253A% 252F% 252Fwww.mysite.com% 252Ff38fea4f9ea573% 26relation% 3Dopener% 26transport% 3Dpostmessage% 26frame% 3Df23b800f8a78% 26result% 3DxxRESULTTOKENxx & дисплей = всплывающее окно и канал = HTTP% 3A% 2F% 2Fwww.mysite.com% 2Ffbtester.php & отмены = HTTP% 3A% 2F% 2Fstatic.ak.fbcdn.net% 2Fconnect% 2Fxd_proxy.php% 23% 3F% 3D% 26cb% 3Df6095a98598be8% 26origin% 3Dhttp% 253A% 252F% 252Fwww.mysite.com% 252Ff38fea4f9ea573% 26relation% 3Dopener% 26transport% 3Dpostmessage% 26frame% 3Df23b800f8a78% 26result% 3DxxRESULTTOKENxx & локаль = ru & return_session = 1 & session_version = 3 & fbconnect = 1 & холст = 0 & legacy_return = 1 & метод = permissions.request

Обратите внимание, что переменная «Next» в URL-адресе:

следующая = HTTP% 3A% 2F% 2Fstatic.ak.fbcdn.net% 2Fconnect% 2Fxd_proxy.php% 23% 3F% 3D% 26cb% 3Df357eceb0361a8a% 26origin% 3Dhttp% 253A% 252F% 252Fwww.mysite.com% 252Ff38fea4f9ea573% 26relation% 3Dopener% 26transport% 3Dpostmessage% 26frame% 3Df23b800f8a78% 26result% 3DxxRESULTTOKENxx


Любые идеи, что может пойти не так? Все, что я сделал, это скопировать и вставить демо-код входа в facebook с веб-сайта facebook:


<?php define('FACEBOOK_APP_ID', 'your application id'); define('FACEBOOK_SECRET', 'your application secret'); function get_facebook_cookie($app_id, $application_secret) { $args = array(); parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args); ksort($args); $payload = ''; foreach ($args as $key => $value) { if ($key != 'sig') { $payload .= $key . '=' . $value; } } if (md5($payload . $application_secret) != $args['sig']) { return null; } return $args; } $cookie = get_facebook_cookie(FACEBOOK_APP_ID, FACEBOOK_SECRET); ?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml"> <body> <?php if ($cookie) { ?> Your user ID is <?= $cookie['uid'] ?> <?php } else { ?> <fb:login-button></fb:login-button> <?php } ?> <div id="fb-root"></div> <script src="http://connect.facebook.net/en_US/all.js"></script> <script> FB.init({appId: '<?= FACEBOOK_APP_ID ?>', status: true, cookie: true, xfbml: true}); FB.Event.subscribe('auth.login', function(response) { window.location.reload(); }); </script> </body> </html> 

Спасибо за помощь!

Related of "Facebook Connect «следующая» ошибка"

Я получал ту же ошибку, но я использую Rails, и проблема заключалась в том, что URL-адрес Connect не обновлялся. Локальное приложение работает на порту 3000, а URL-адрес Connect указывает на порт 80.

Посмотрите, работает ли это для вас.

  1. Перейти к http://www.facebook.com/developers
  2. Отредактируйте приложение, над которым вы работаете
  3. Перейдите на вкладку « Connect » слева
  4. Проверьте правильность настройки Connect URL

Я мало знаю о API Facebook, но я знаю, что вы должны фактически заменить текст your application id и your application secret кодом вашего приложения и вашим приложением. 🙂

У меня была такая же проблема и я не мог понять. Это был основной домен, как сказал Джи. Я бы голосовал, но я только присоединился. Требования к страницам настройки FB настолько плохие … Я использовал localhost.

Я также использовал querystring из «nothing = 1» для тестирования b / c нового требования, в котором говорится: «URL-адрес соединения должен указывать на каталог (т. Е. Заканчиваться на« / ») или на динамическую страницу (т. Е. ?" где-то.

Поэтому вы не можете просто поставить default.aspx. Вы должны закончиться косой чертой или иметь? что является странным требованием для подключения.

Спасибо Цзи !!!

Я смог решить эту проблему с помощью этих настроек:

Базовый домен: домен .com (это также должно решить проблемы adelein с несколькими субдоменами)

Connect URL: должен быть допустимым URL http: // или https: // с косой чертой в конце ИЛИ '?' где-то в URL, обозначая строку запроса. В принципе, facebook не хочет, чтобы вы отправляли людей на статические страницы, которые неправильно обрабатывают установленную авторизацию, я думаю.

если URL-адрес подключения правильный, и он по-прежнему не работает, перейдите в настройку вашего приложения, укажите правильный базовый домен. Для тестирования вы можете использовать localhost. Если вам еще не повезло, перейдите в настройку миграции, отключите «новое разрешение данных»,