Мобильное веб-приложение Facebook начало выдавать код ошибки API: 196

У меня есть веб-приложение, которое настроено как веб-приложение холста в facebook, а также предоставило мобильный URL-адрес, где мобильная конкретная страница обслуживается с веб-сервера. Приложение работает около 3 месяцев и началось на прошлой неделе (я полагаю, что проблема началась на прошлой неделе, за последние 3 месяца не было развертывания приложения), когда я получаю доступ к приложению со своего телефона Android, из ярлыка приложений в родном Android-приложение facebook, facebook выдает следующую ошибку

Код ошибки API: 196 Описание ошибки API: невозможно перенаправить на URL-адрес веб-холста рабочего стола на мобильном устройстве. Сообщение об ошибке: redirect_uri не принадлежит этому приложению.

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

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

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


person saj-and    schedule 11.03.2012    source источник


Ответы (2)


Потерял 1 день на этом, попытался прочитать 2 японских (непереведенных) блога.. Потом я понял это по-своему!

В настройках приложения НЕ вводите тот же URL для мобильного приложения!

пример:

обычный холст или URL-адрес веб-сайта: https://www.stackoverflow.com/

(что автоматически приведет вас к https://www.stackoverflow.com/index.php)

мобильный URL: https://www.stackoverflow.com/mobile/

(что автоматически приведет вас к https://www.stackoverflow.com/mobile/index.php)

затем создайте папку «mobile» в корневой папке вашего хостинга.

Теперь единственной разницей в мобильной папке будет URI перенаправления.

Я использую перенаправление URL-адресов, что и предлагает Facebook.

https://developers.facebook.com/docs/reference/dialogs/oauth/

ВАЖНО: убедитесь, что ваш URI перенаправления является не адресом холста, а адресом веб-сервера!

неправильный URI перенаправления: https://apps.facebook.com/mobile/yourappname/

правильный URI перенаправления: https://yourwebsite.com/mobile/

это заставит Facebook думать, что это специальный мобильный сайт! И все будет работать как надо!

person Mark Belli    schedule 01.04.2012
comment
Вы спасли мой день! Facebook действительно должен предупреждать об этих идентичных URL-адресах, когда вы их вводите. - person Jeroen K; 19.02.2013

У меня была такая же проблема, и я решил ее не устанавливать параметр «redirect_uri», как это.

$url = $facebook->getLoginUrl(array(
    'scope' => 'xxxx, xxxx, xxxx',
    'display' => 'touch'
));

Как вы знаете, мы можем указать значение «URL-адрес страницы холста», например

http://apps.facebook.com/[имя вашего приложения]

на параметр "redirect_uri" ранее, но я предполагаю, что спецификация параметра была изменена в середине прошлой недели. У меня такая же ошибка: «Код ошибки API: 196».

Посетите мою страницу. http://nobish.jp/facebook/app-install-api-error-code-196.html

person ohtsuki2843    schedule 12.03.2012
comment
Спасибо за ответ, я все еще не мог понять, что нужно изменить, у меня есть фильтр сервлета, откуда я делаю перенаправление, вот URL-адрес перенаправления, который у меня есть в настоящее время, который работал до прошлой недели ‹facebook.com/dialog/› , интересно, каков новый правильный способ построения URL-адреса перенаправления? - person saj-and; 12.03.2012
comment
Кто-нибудь знает, как вставить URL-адрес в stackoverflow в виде текста и не преобразовать его в URL-адрес, я пробовал это выше, но он был преобразован в URL-адрес, и большая его часть не видна. - person saj-and; 12.03.2012
comment
Извините, я создал свое приложение с помощью PHP. вы строите с RestFB? - person ohtsuki2843; 12.03.2012
comment
Мое приложение Java. Можете ли вы вставить окончательное значение переменной $url (после нового изменения), это может помочь мне найти исправление для меня. - person saj-and; 12.03.2012
comment
один из способов не устанавливает параметр redirect_uri, а другой способ устанавливает значение развернутого URL-адреса вашего приложения, например https://[полное доменное имя вашего веб-сервера]/[ваше приложение DocumentRoot]/. Результат будет таким же. URL-адрес запуска (установки) приложения будет facebook.com/dialog/oauth?client_id= [ваш идентификатор приложения]&redirect_uri=https://[полное доменное имя вашего веб-сервера]/[ваше приложение DocumentRoot]/&state=[статус] - person ohtsuki2843; 12.03.2012
comment
Большое спасибо, отсутствие предоставления, похоже, не решило проблему в моем случае, но установка redirect_uri на URL-адрес веб-приложения в 2 местах, в URL-адресе перенаправления в первый раз и в URL-адресе авторизации во второй раз, похоже, помогает. Большое спасибо. - person saj-and; 12.03.2012