Подтвердить что ты не робот

Ошибка входа в систему: Ошибка регистрации в этом приложении. Пожалуйста, повторите попытку позже

Я получаю эту ошибку. Когда я пытаюсь войти в facebook в свое приложение. Когда я впервые проверю подлинность, он будет корректно работать. После того, как я не понял мое приложение и теперь пытаюсь войти в Facebook, я получаю эту ошибку.

Другая проблема. После аутентификации в устройстве1 и попробуйте войти в систему с facebook на устройстве2, также появляется такая же ошибка.

Решение я Найдено:, когда я удаляю аутентификацию приложения из настроек приложения Facebook, он работает в описанном выше сценарии, но это не является хорошим решением, как мы можем сказать пользователям, чтобы сделать это действие?

btnFbLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(accessToken != null) {
                    boolean expires = accessToken.isExpired();
                    if(!expires) {
                        performFbLoginOrSignUp(accessToken);
                    }
                } else {
                    LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
                    callbackManager = CallbackManager.Factory.create();

                    if (loginButton != null) {
                        loginButton.setReadPermissions("public_profile", "email", "user_friends");

                        if (CommonUtil.isConnectingToInternet(LoginActivity.this)) {
                            loginButton.performClick();

                            loginButton.setPressed(true);

                            loginButton.invalidate();

                            loginButton.registerCallback(callbackManager, mCallBack);

                            loginButton.setPressed(false);

                            loginButton.invalidate();
                        } 
                    }
                }
            }
        });

Страница ошибки

В примере на Facebook также есть проблема: ссылка GitHub примера Facebook

Шаги по воспроизведению:

  • Запустите приложение. Войдите в систему с помощью Facebook. Подтвердите профиль FB.

  • Удалить приложение и установить его снова.

  • Теперь попробуйте войти в систему с Facebook.

  • Вышеприведенная ошибка. потому что мы уже прошли аутентификацию, поэтому вам нужно получить доступ к профилю fb. но здесь мы сталкиваемся с этой проблемой.
  • Здесь уже не аутентифицированная страница не отображается.
  • Я использую Native FB-приложение с устройством Xiaomi Redmi Note 3
4b9b3361

Ответ 1

Я также сталкиваюсь с этой проблемой. Обновите свой хэш на Facebook

Ответ 2

Ошибка возникает из-за неверного хеш-ключа.

Мы можем создать ключ Hash с помощью приведенной ниже команды и обновить то же самое здесь в разделе Settings-> Basic → Android HashKeys

keytool -exportcert -alias ADD_RELEASE_KEY_ALIASE_HERE -keystore ADD_UR_KEYSTORE_PATH_HERE | openssl sha1 -binary | openssl base64

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

keytool -list -keystore ADD_UR_KEYSTORE_PATH_HERE

У меня также есть проблема, например, при использовании вышеуказанного HashKey, логин работает нормально, если я устанавливаю релиз APK прямо на устройство, но когда я загружаю APK в Play Store и устанавливаю приложение из магазина, он показывает тот же логин ошибка Это исправлено следующим образом:

  1. Зайдите в Управление релизами здесь
  2. Выберите Управление выпуском → Подписание приложения
  3. Вы можете увидеть ключ SHA1 в шестнадцатеричном формате сертификат подписи приложения.
  4. Скопируйте SHA1 в шестнадцатеричном формате и преобразуйте его в формат base64. Вы можете использовать этуссылку, чтобы сделать это без SHA1: части шестнадцатеричного числа.
  5. Зайдите в консоль разработчика Facebook и добавьте ключ (после конвертации в base 64) в настройках → basic → key hashes.

Ответ 3

Это проблема Facebook. Подтверждено командой Facebook.

введите описание изображения здесь

Ожидаемое разрешение: в течение 3 дней

Ответ 4

Для меня эта точная ошибка произошла из-за неверных строк разрешения. Произошло на iOS и Android.

Ответ 5

Эта проблема возникает из-за того, что вы уже аутентифицировали приложение через Facebook, и ваш код может содержать Authenticate каждый раз, когда Facebook (найдите и удалите это).

Выполните следующие действия:

  • Перейдите в настройки Facebook.

  • Удалите приложение.

  • Удостоверьтесь, что вы добавили Facebook на страницу разработчика Facebook, и вы включили Client OAuth Login.

  • Перейдите к своему коду и переопределите метод обратного вызова:

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        mFacebookCallbackManager.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK) {
            Intent secondActivityIntent = new Intent(this, RedirectActivity.class);
            startActivity(secondActivityIntent);
        }
    }
    
  • В методе Oncreate вызовите AccessToken:

    accessTokenTracker = new AccessTokenTracker() {
        @Override
        protected void onCurrentAccessTokenChanged(
                AccessToken oldAccessToken,
                AccessToken currentAccessToken) {
            // Set the access token using
            // currentAccessToken when it loaded or set.
        }
    };
    
    // If the access token is available already assign it.
    accessToken = AccessToken.getCurrentAccessToken();
    
    if (accessToken != null && !accessToken.isExpired())
    {
        GraphRequest request = GraphRequest.newMeRequest(accessToken, new GraphRequest.GraphJSONObjectCallback() {
            @Override
            public void onCompleted(JSONObject object, GraphResponse response) {
                if(null != object) {
                    try
                    {
                        Intent i = new Intent(MainActivity.this, Feedback.class);
                        startActivity(i);
                        String email = object.getString("email");
                        String birthday = object.getString("birthday");
    
                    }
                    catch (Exception ex)
                    {
                        Toast.makeText(MainActivity.this, ex.toString(), Toast.LENGTH_SHORT).show();
                    }
                } else {
                    // call your authentication process
    
                }
            }
        });
        Bundle parameters = new Bundle();
        parameters.putString("fields", "id,name,birthday,link");
        request.setParameters(parameters);
        request.executeAsync();
    }
    

Ответ 6

  • Удалите приложение из пользовательских настроек в Facebook (учетная запись).

  • Удалите приложение.

  • Получите новый хеш, используя выпуск или новое хранилище отладки. Используйте эту команду:

    keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
    
  • Добавить новый хеш на панели инструментов Facebook.

Ответ 7

У меня была такая же проблема на моей Redmi Note 3. Протестировано на Samsung. Нет проблем. Интересно, является ли это специфичным для Redmi.

Ответ 8

Я столкнулся с той же проблемой. Я четко определил свои ключевые слова, все еще сталкивался с той же проблемой. Я не смог войти в систему даже в первый раз.

Решение моей проблемы:

  • Перейдите в панель приложений здесь

  • На левой панели под вкладкой продуктов убедитесь, что вы добавили Facebook. Если нет, добавьте его туда.

Если все ваши другие конфигурации находятся на своем месте. После этого он отлично работает.

Ответ 9

Проблема для меня действительно с хэш-ключом, она недействительна.

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

Улучшенные инструкции для создания действительного хеш-ключа

Ответ 10

Я говорю это,

https://developers.facebook.com/docs/android/getting-started

или просто добавьте приведенный ниже код в метод onCreate(), который будет возвращать хэш ключа.

 // Add code to print out the key hash
try {
    PackageInfo info = getPackageManager().getPackageInfo(
            "com.facebook.samples.hellofacebook", 
            PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
} catch (NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

Добавьте приведенный выше код для получения ключа, который вы можете сохранить

https://developers.facebook.com/docs/facebook-login/android

Вот. Теперь это будет работать.

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

ИЛИ

Эта команда может не дать вам последний хеш-код.

keytool -exportcert - псевдоним YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64

Чтобы получить последнюю или активную комбинацию ключей из хеша поиска в android studio в вашей Android-студии Logcat или на мониторе Android, когда приложение работает и выдает ошибку выше. Вы получите другой ключ, который активен. После вставки этого искомого ключевого слова в настройку консоли вы можете войти в приложение.

Ответ 11

Я столкнулся с той же проблемой.

Это была ошибка на моей стороне.

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

Когда вы набрали эту команду, она предложила Enter keystore password: Я давал keyPassword вместо storePassword и он не выдавал никакого сообщения об ошибке, вместо этого генерировал другой хеш!

Ответ 12

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

Команда для генерации хеш-ключа:

keytool -exportcert -alias TYPE ALIAS HERE -keystore KEY_STORE_FILE_PATH_HERE | openssl sha1 -binary | openssl base64

Ответ 13

У меня была такая же проблема сегодня на моих сайтах, а затем понял, что я использовал старый default_graph_version = v3.2. Я изменил его на последний:

default_graph_version = v4.0

Теперь все снова работает. Попробуйте.