«Произошла ошибка» при аутентификации с помощью Android Android SDK Facebook - PullRequest
4 голосов
/ 25 мая 2011

Я аутентифицирую пользователя (или пытаюсь) с помощью своего приложения для Android, над которым я работаю, и все, что я получаю в диалоговом окне facebook, - это то, что произошла ошибка без подробных сведений о том, что это за ошибка. Нет никаких исключений для меня, чтобы преследовать или что-то в этом роде. Я следовал http://developers.facebook.com/docs/guides/mobile/#android, чтобы создать свой диалог входа в систему.

На странице написано, используйте новый Facebook ("YOUR_APP_ID"); что приводит к ошибке, я также попробовал ключ API, но он дает то же самое. Я больше ничего не делаю, кроме тостов, но я не получаю ответ в обратном вызове, пока не нажму клавишу возврата, чтобы выйти из диалогового окна facebook

public class Base {
private Facebook fb;

    public Base() {
        fb = new Facebook("app_id_here");
    }

    public void onCreate(Bundle b) {
        super.onCreate(b);
    }

    private void doLogin() {
        fb.authorize(this, new DialogListener() {
            public void onComplete(Bundle values) {
                Toast.makeText(getApplicationContext(), values.toString(),
                        Toast.LENGTH_LONG).show();
            }
            public void onFacebookError(FacebookError error) {
                Toast.makeText(getApplicationContext(), error.getMessage(),
                        Toast.LENGTH_LONG).show();

            }

            public void onError(DialogError e) {
                Toast.makeText(getApplicationContext(), e.getMessage(),
                        Toast.LENGTH_LONG).show();
            }

            public void onCancel() {
                Toast.makeText(getApplicationContext(),
                        "You must be registered and signed in to perform that action",
                        Toast.LENGTH_LONG).show();

            }
        });
    }

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        fb.authorizeCallback(requestCode, resultCode, data);
    }
}

Любая идея, почему это приведет к ошибке или где / как я могу найти причину ошибки PS Я также добавил хеш-ключ в разделе «Мобильные устройства» на странице настроек приложения FB, и это не та проблема, которая обнаружена на Ошибка входа - ошибка неверного ключа в Facebook SDK попробовал предложения там. Не работает

Ответы [ 2 ]

14 голосов
/ 26 мая 2011

Я тоже сталкивался с этой проблемой.Прежде всего мне нужно знать, какое значение Key Hash вы ввели в приложении facebook, если оно равно « ga0RGNYHvNM5d0SLGQfpQWAPGJ8 = », тогда это проблема.Я думаю, что вы ввели

keytool -exportcert -alias androiddebugkey -keystore ~ ​​/ .android / debug.keystore |openssl sha1 -binary |openssl base64

этот на терминале, и вы ввели свой собственный пароль для генерации хэша ключа.если вы сделали это, попробуйте выполнить следующие действия, а также введите указанную выше команду на терминале (я использую UBUNTU (linux). Вы вводите команду, соответствующую используемой вами ОС), и введите пароль как «android»..На этот раз вы получите другое значение хэши.Скопируйте это значение и сохраните его в качестве ключевого хеш-значения для вашего приложения Facebook.После этого проверьте работает он или нет.Для меня это сработало.Это произойдет, когда мы используем ключ отладки.После всего этого, когда вы собираетесь опубликовать это приложение на рынке Android, вам придется снова изменить значение хеш-ключа в соответствии с используемым вами закрытым ключом.Попробуйте, может быть, это вам поможет.

0 голосов
/ 16 июня 2011

В моем случае «~ / .android / debug.keystore» был «КЛЮЧОМ» этой проблемы. Проверьте URL-адрес папки «debug.keystore». Вы должны изменить это на правильный URL точно. А затем выполните команду ниже ..

$ cd /cygdrive/c/Users/watchout/.android <==== URL моего хранилища отладочных ключей $ keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | база openssl 64 </p>

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

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