Перенаправление в диалог аутентификации - «Произошла ошибка. Пожалуйста, попробуйте позже» - PullRequest
49 голосов
/ 29 августа 2011

Почему это всегда происходит со мной?

Это происходит после того, как мое приложение проверит вход пользователя в систему и перенаправит пользователя на страницу аутентификации:

https://www.facebook.com/dialog/oauth?client_id=XXX&redirect_uri=http%3A%2F%2Fexample.com%2Fmyappname%2F&state=YYYYYY&scope=offline_access%2Cpublish_actions

Но вместо того, чтобы показывать страницу авторизации, Facebook показывает страницу с ошибкой:

Произошла ошибка.Пожалуйста, повторите попытку позже.

Есть ли какая-либо конфигурация, которую я должен сделать, прежде чем пытаться аутентифицировать моих пользователей?

Все это делается с помощью PHP с использованием классов PHP-SDK.

Ответы [ 34 ]

3 голосов
/ 11 апреля 2012

У меня была именно эта проблема в приложении Page Tab, и я не мог понять, в чем проблема. Это сработало на моей тестовой странице, но как только я запустил его, оно не сработало. В конце концов я обнаружил, что исправил проблему, поместив фактический URL-адрес на вкладку страницы (т.е. http://www.facebook.com/<"page_name">/app_<"app_id">) в «URL-адрес сайта» в разделе «Веб-сайт». Это не имеет никакого смысла. Но это сработало: -)

2 голосов
/ 19 ноября 2012

Еще одна возможная ошибка: если вы непосредственно скопировали код из примера Facebook SDK, вы можете получить такую ​​же ошибку, несмотря на то, что все исправлено.http://developers.facebook.com/docs/reference/php/

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

require_once("facebook.php");

$config = array();
$config['appId'] = 'YOUR_APP_ID';
$config['secret'] = 'YOUR_APP_SECRET';
$config['fileUpload'] = false; // optional

$facebook = new Facebook($config);
2 голосов
/ 01 января 2013

Если весь ваш код работает правильно, то для устранения ошибки такого типа перейдите в Facebook Developers Apps и отключите режим песочницы .

2 голосов
/ 12 сентября 2012

Для меня проблема заключалась в том, что пользователи Facebook, которые я использовал для тестирования приложения, не подтвердили свой адрес электронной почты в Facebook.

Мой клиент создал 2 поддельных аккаунта на Facebook и сказал мне, что онине работали.Но он забыл подтвердить адреса электронной почты этих учетных записей (письма, отправленные Facebook, отправлялись в его папку со спамом, и он не заметил).

Мне потребовались часы, чтобы найти это, поэтому я надеюсь, что это кому-нибудь поможет.

Ура!

2 голосов
/ 22 февраля 2012

Проблема решена после того, как я обновил 'appID' и 'secret', а затем вернул изменение обратно в heroku (т.е. - 'git push heroku master')

Ключ не в том, чтобы забыть перенести изменения обратно к герою-хозяину. Очень легко пропустить, если вы привыкли к тестированию на localhost.

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

2 голосов
/ 07 ноября 2012

Также возникла проблема с неправильной ссылкой перенаправления: у меня была ссылка, начинающаяся с "https://apps.facebook.com? Myapplication" .... но после авторизации перенаправление привело бы меня к "apps.facebook.com/Myapplication", и, следовательно, я получит сообщение, описанное выше: «Произошла ошибка. Попробуйте позже». поскольку "apps.facebook.com" ... означает "http://apps.facebook.com/Myapp", а не" HTTPS://apps.facebook.com/,..."

Решение: зашел в настройки моего приложения в разделе разработчиков Facebook. Нажал «Редактировать». В левом меню выбрано «Разрешения» (по умолчанию меню установлено на «Основные»), а во вновь открытом наборе настроек изменил мой «Параметр токена аутентификации» с «Строка запроса» на «Фрагмент URL».

Это сработало! После завершения авторизации пользователи переходят на "https://apps.facebook.com/myapp..."

1 голос
/ 23 августа 2012

Я наложил ограничение на приложение, которое может использовать только резиденция США.Я работал из Канады, когда появилось это сообщение об ошибке.После снятия ограничения все заработало.

1 голос
/ 18 апреля 2012

Я только что столкнулся с этой проблемой сам.Я разрабатываю приложение для себя, поэтому мой хост - localhost.Не было очевидно, как настроить localhost в конфигурации приложения.Если вы хотите разрабатывать локально, настройте свое приложение, выполнив следующие действия:

  1. Перейдите в то место, где вы управляете приложением Facebook.В частности, вы хотите быть в «Basic» в меню «Настройки».
  2. Добавить «localhost» в «Домен приложения».
  3. В разделе «Выберите, как ваше приложение интегрируется с Facebook»,выберите «Веб-сайт» и введите «http://localhost/".

. Сохраните и подождите пару минут, пока информация распространяется, хотя у меня это сработало сразу.

1 голос
/ 16 ноября 2012

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

1 голос
/ 26 августа 2015

Ответ за 2015 год

Режим песочницы пропал.

Перейдите к My Apps -> Your App -> Status & Review и измените ползунок на да для:

Хотите ли вы сделать это приложение и все его живые функции доступными для широкой общественности?

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...