2014-02-04 2 views
2

Я хочу войти с FaceBook с мобильных устройств (WebView). Я пытаюсь войти в систему, используя пример из этого учебника https://developers.facebook.com/docs/facebook-login/login-flow-for-webКак подключиться к Facebook с помощью JS API из WebView

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

Данный URL не допускается в конфигурации приложения .: Один или несколько из данная Настройки URL-адреса не допускаются. Он должен соответствовать URL-адресу веб-сайта или URL холста, или домен должен быть поддоменом одного из доменов приложения.

По этой manual я должен используя фальшивый redirect_uri для OAuth службы для входа из WebView

https://www.facebook.com/connect/login_success.html

Теперь строка подключения выглядит следующим образом

https://www.facebook.com/connect/ping?client_id=188978851312862&domain=&origin=1&redirect_uri=http://static.ak.facebook.com/connect/xd_arbiter.php?version=29#cb=fc2b211fc&domain=&origin=file%3A%2F%2F%2Ff3b6d7ef1c&relation=parent&response_type=token,signed_request,code&sdk=joey

И если вы перейдете по этой ссылке, вы получите сообщение об ошибке. Но если я изменить redirect_uri к этому

https://www.facebook.com/connect/ping?client_id=188978851312862&domain=&origin=1&redirect_uri=https://www.facebook.com/connect/login_success.html&domain=&origin=file%3A%2F%2F%2Ff3b6d7ef1c&relation=parent&response_type=token,signed_request,code&sdk=joey

Это будет успешным.

Можно ли установить фальшивое перенаправление uri и использовать стандартный JS API?

UPD: На самом деле разрешение вполне закончено, но событие API (auth.authResponseChange) не срабатывает. Проблема в параметре origin в redirect_uri, которая установлена ​​на file:// при входе в систему из WebView для мобильных устройств.

+0

напишите свой код пожалуйста! –

+0

Я использую пример кода из https://developers.facebook.com/docs/facebook-login/login-flow-for-web#quickstart – CruorVult

ответ

0

Насколько я могу судить, совет, если вы находитесь в WebView, «перенаправление на https://www.facebook.com/connect/login_success.html» - это то, что оно будет перенаправлено там, с некоторыми ключами авторизации «также в URL», а затем вы можете проанализировать их и закрыть WebView, так что в основном однократная выноска, FWIW. Мое другое предположение заключается в том, что происхождение есть, но на самом деле не проверено или не используется ими [?]

Что касается «использования стандартного JS API», я думаю, вы можете, но это non trivial see here.

Смежные вопросы