hello.js facebook перенаправление uri не поддерживается, идентификатор приложения недействителен

Я создаю мобильное приложение, используя Intel-xdk вместе с hello.js (клиентский javascript sdk) для входа в Facebook, потому что это единственное, что заставляет меня работать с входом через fb на Intel.
Инструкции hello.js были мне трудно понять, хотя они кажутся простыми. Это код инициализации, предоставленный документацией hello.js. https://adodson.com/hello.js/

hello.init({
    facebook: ************,
    windows: WINDOWS_CLIENT_ID,
    google: GOOGLE_CLIENT_ID
}, {redirect_uri: 'index.html'});

Я должен отметить, что я тестирую это на эмуляторе intel-xdk, на моем iphone и в браузере Chrome. Я получаю две разные ошибки в зависимости от того, где я тестирую. Я получаю либо «недопустимый идентификатор приложения», либо «URI перенаправления не поддерживается». Есть ли другой способ написать URI перенаправления.

***ОБНОВЛЕНИЕ**** Я избавился от свойств «windows» и «google», потому что я не использую ни одно из них для входа в систему. Я также заменил «google» на uri перенаправления. Это не работало, когда я использовал www.google.com, но ДЕЙСТВИТЕЛЬНО работал, когда я использовал https://www.google.com . Поэтому я думаю, что использование «https» имеет значение. Вот как сейчас выглядит этот блок кода инициализации:

hello.init({
            facebook: '178363645852696'
        }, {redirect_uri: "https://www.google.com"});

Вот разные ошибки, которые я получаю сейчас. На эмуляторе intel-xdk без проблем заходит в гугл. На устройстве пишет, что я не вошел в систему (что неправда). В хроме сообщение во всплывающем окне говорит следующее:

Данный URL-адрес не внесен в белый список в настройках клиента OAuth: это перенаправление не удалось, поскольку URI перенаправления не внесен в белый список в настройках клиента OAuth приложения. Убедитесь, что клиент и веб-вход OAuth включены, и добавьте все домены приложений в качестве действительных URI перенаправления OAuth.

Я буду продолжать работать над этим и обновлять свои решения, но требуются дополнительные решения.


person Spilot    schedule 22.01.2016    source источник


Ответы (1)


SDK, который вы используете, предназначен для веб-сайтов, а не для приложений Cordova.

Если у вас есть локальный код и вы создаете приложение с помощью intel-xdk, то лучшим решением будет использование плагина facebook cordova, вот руководство о том, как заставить facebook API работать в intel-xdk:

https://software.intel.com/en-us/xdk/article/facebook-connect-plugin-android-ios

person krisrak    schedule 25.01.2016
comment
Откуда вы знаете, что это только для веб-сайтов? Причина, по которой я использовал hello.js, заключается в том, что я не мог заставить этот плагин Cordova работать на меня. Я хотел более простое решение. Я уже прочитал статью Intel, и она не работает для меня. - person Spilot; 26.01.2016
comment
если вы используете hello.js, вам также следует добавить в проект плагин InAppBrowser, чтобы заставить работать oauth, попробуйте. - person krisrak; 27.01.2016
comment
Хорошо, я только что посмотрел InAppBrowser, и мне не ясно, как это работает с hello.js. - person Spilot; 27.01.2016
comment
похоже, что hello.js имеет телефонную версию js github. com/MrSwitch/hello.js/blob/master/src/hello.phonegap.js, который будет использовать InAppBrowser для открытия нового окна для отображения экрана входа в систему oauth, для этого вам нужен плагин InAppBrpwser, документация находится здесь: github.com/MrSwitch/hellojs-phonegap-demo говорит, что у него есть зависимость InAppBrowser - person krisrak; 27.01.2016