Перенаправление в диалог аутентификации - «Произошла ошибка. Пожалуйста, попробуйте позже» - 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 ]

64 голосов
/ 08 февраля 2012

У меня была такая же проблема, как и у вас.

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

enter image description here

38 голосов
/ 16 ноября 2011

У меня была такая же проблема после смены домена моего сайта. Хотя я правильно изменил параметр request_uri и обновил настройки моего приложения новым доменом, ошибка продолжала появляться. Затем я понял, что идентификатор и секретный идентификатор моего приложения Facebook автоматически изменились без предупреждения !! Все снова заработало, используя новый идентификатор.

16 голосов
/ 12 декабря 2011

Это происходило и со мной, но все ключи API, секреты и прочее были верны.Я обнаружил, что мое приложение работает в режиме песочницы.Перейдите в настройки своего приложения в https://developers.facebook.com/, перейдите на вкладку дополнительных настроек и проверьте, находится ли ваше приложение в режиме песочницы.Если он отключен, попробуйте еще раз.Дайте нам знать, если это работает.

7 голосов
/ 12 апреля 2013

При работе с диалогами Facebook предоставляет атрибут «show_error», который по умолчанию равен no, но может быть установлен на true в среде разработки и действительно полезен для целей отладки.

show_error - Если для этого параметра установлено значение true, код ошибки и описание ошибки будут отображаться в случае ошибки.

Инструкции по его использованию можно найти в Документах Facebook * 1010.*.

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

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

Описание ошибки API: указанный URL-адрес не принадлежит приложению

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

7 голосов
/ 14 февраля 2012

Я получал эту ошибку, потому что я начинал с http://mysite.com, но указал в настройках Facebook http://WWW.mysite.com - значение имеет значение www ... В итоге я решил использовать .httpaccess, чтобы всегда убивать "www", и указывая FB на http://mysite.com

худшее. поддомен. Когда-либо. : И)

5 голосов
/ 08 ноября 2012

Для меня это произошло потому, что созданный мной «тестовый пользователь» был частью отдельного приложения.Я создал тестового пользователя для ЭТОГО приложения, и оно начало работать нормально.

Глупо с моей стороны, я знаю, но это может спасти кого-то еще от некоторых проблем.

5 голосов
/ 31 декабря 2011

У меня была такая же проблема;оказалось, что FB требует string appID, а не int ...

//DOESNT WORK:
$facebook = new Facebook(array(
  'appId'  => 147XXXXXXXXXXX,
  'secret' => 'XXXXXXXXXXXXXX',
));

// WORKS:
$facebook = new Facebook(array(
  'appId'  => '147XXXXXXXXXXX',
  'secret' => 'XXXXXXXXXXXXXX',
));
3 голосов
/ 05 апреля 2012

Согласно документации OAUTH Dialog:

* redirect_uri: URL-адрес для перенаправления после нажатия пользователем кнопки в диалоговом окне.Указанный вами URL-адрес должен быть URL-адресом с тем же базовым доменом, который указан в настройках вашего приложения, и URL-адресом Canvas в форме https://apps.facebook.com/YOUR_APP_NAMESPACE ... *

Я динамически создаю oauth-ссылки напопросите пользователя о дополнительных разрешениях, если это необходимо, и я понял, что даже если вы перенаправляете на https://apps.facebook.com/YOUR_APP_NAMESPACE, вы должны иметь настройки домена приложения и веб-сайта в настройках вашего приложения.Я установил для домена facebook.com, а для сайта - корневой URL-адрес facebook.

Теперь моя диалоговая ссылка oauth работает нормально - даже в режиме песочницы.

3 голосов
/ 03 октября 2012

Для меня решение состоит в том, чтобы включить опцию «Аутентифицированные рефералы». Это действительно исправлено после этого.

Fix permissions error

3 голосов
/ 29 августа 2011

Убедитесь, что ваше приложение настроено на использование соответствующего URL-адреса и домена вашего сайта. Это может быть это.

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