Аутентификация Facebook на Android Перенаправление на приложение Facebook для Android

Я разрабатываю приложение для Android, которое требует аутентификации через учетную запись facebook. Для аутентификации я использовал учебник и Проект предоставлен Facebook

Когда на мобильном телефоне не установлено стандартное приложение facebook, аутентификация работает отлично, и мое приложение работает. С другой стороны, если на мобильном телефоне установлено приложение Facebook, мое приложение перестает работать и после аутентификации переходит прямо в приложение Facebook.

Кто-нибудь знает, как я могу это решить?


person rlc    schedule 08.08.2011    source источник
comment
привет, я разрабатываю приложение для Android, которое требует аутентификации через учетную запись facebook, можете ли вы дать мне пример кода для этого, мне просто нужна только аутентификация facebook.   -  person Sam    schedule 05.11.2011
comment
[Здесь][1] вы можете найти примеры кодов, предоставленные Facebook. [1]: github.com/facebook/facebook-android-sdk   -  person rlc    schedule 07.11.2011


Ответы (1)


Похоже, вы используете единый вход, который, кстати, является правильным решением, и он будет авторизоваться через приложение Facebook, если оно существует на телефоне, иначе перенаправить через диалоговое окно веб-просмотра. Вы добавили keyhash своего приложения в приложение разработчика facebook?

Дополнительные инструкции по SSO и keyhash здесь:

https://developers.facebook.com/docs/guides/mobile/#android

Несколько замечаний о keyhash:

  • Справочник по ключевым хэшам: Подписание приложений .

  • Ошибка команды Keytool не найдена: Keytool входит в стандартный пакет Android SDK. если вы получаете сообщение об ошибке «Команда не найдена», вам нужно либо добавить ее путь к вашему глобальному «ПУТИ», либо перейти в папку для запуска этой команды. Стандартное расположение в Windows — C:\Program Files (x86)\Java\jdk1.6.0\bin, а для MAC — /usr/bin

  • Openssl: если у вас нет openssl, установите его отсюда: Windows, MAC. Для Mac следуйте инструкциям здесь.

  • Недопустимый хэш ключа: Keytool автоматически генерирует хэш ключа, независимо от неизвестного местоположения debug.keystore или неправильного пароля. При запуске примера приложения используйте adb logcat для отслеживания ошибок. Ошибка, возвращаемая для недопустимого ключа: Facebook-authorize(2631): Ошибка входа: неверный_ключ. Визуальное указание на недопустимый хеш-ключ — это когда система единого входа скользит в приложение Facebook и выходит из него без вызова какого-либо экрана или диалогового окна GDP. Если вы получаете эту ошибку, есть несколько вариантов:

    • keytool не смог найти местоположение вашего хранилища debug.keystore. Убедитесь, что вы указали правильный путь. Один из способов узнать, что keytool всегда должен запрашивать пароль, когда он находится в правильном месте.

    • Вы ввели неверный пароль. Пароль хранилища ключей по умолчанию: «android».

    • Вам нужно нажать «Сохранить изменения» при добавлении ключа в приложение разработчика на Facebook.

    • Если все это не удается, попробуйте использовать cygwin или linux box для генерации хэш-ключа.

person Vikas Gupta    schedule 24.08.2011
comment
Я разрабатываю это приложение для Android с автором вопроса (Рафаэлем), и проблема заключалась в пароле хранилища ключей по умолчанию. Когда я поставил андроид как вы сказали, все заработало! Прежде чем опубликовать свое приложение на Android Market, я должен сгенерировать еще один ключ, следуя документам Signing Your Applications, верно? PS: Рафаэль скоро примет ваш ответ, спасибо! - person fjsj; 07.09.2011