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

Всегда получать состояние сеанса: CLOSED_LOGIN_FAILED, токен: {токен AccessToken: ACCESS_TOKEN_REMOVED в facebook android sdk3.0.

Всегда получать состояние сеанса: CLOSED_LOGIN_FAILED, токен: {токен AccessToken: ACCESS_TOKEN_REMOVED в facebook android sdk3.0. Даже когда я запускаю примеры, данные facebook sdk, их аутентификация, а не перенаправление на следующий flow.it, отображает предыдущую страницу.

4b9b3361

Ответ 1

По какой-то причине хеш, который генерирует keytool для меня, не совпадает с моим приложением. Это то, что сработало для меня. Создайте хэш, используя стандартный код, предоставленный facebook:

PackageInfo info = getPackageManager().getPackageInfo("<your_package_name>",  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));
    }

Обязательно замените "your_package_name > " на соответствующее имя пакета. Посмотрите на logcat и захватите keyhash и введите его в свои настройки приложения facebook.

Ответ 2

ACCESS_TOKEN_REMOVED не имеет ничего общего с проблемой. Это просто SDK для Facebook, не регистрирующий токен доступа. Таким образом, вы можете смело игнорировать эту часть ошибки.

Есть две вещи, которые являются вероятными причинами CLOSED_LOGIN_FAILED:

  • Вы внесли неправильные учетные данные в собственное приложение Facebook.

  • Хэш-код Android, введенный в настройках вашего приложения на developers.facebook.com, не соответствует ключевому хешу APK.

Чтобы устранить неполадки # 1 Откройте собственное приложение Facebook и убедитесь, что вы вошли в систему правильно и можете получить доступ к контенту. Если у вас есть неправильные учетные данные, введенные в родное приложение Facebook (возможно, вы недавно изменили свой пароль), тогда SDK Facebook будет пытаться сделать SSO с помощью собственного приложения и сообщить CLOSED_LOGIN_FAILED.

Чтобы устранить неполадки # 2 Просто выполните инструкции в разделе "Создать приложение Facebook" на этой странице https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/.

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

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

Ответ 3

У меня была такая же ошибка, и я забыл следующую строку в onActivityResult активности стартера:

Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);

Вот весь метод:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
    case RESULT_CODE_IMPORT_FACEBOOK:
          //do stuff
          break;
    default:
          Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
          break;
    }
}

Ответ 4

У меня была аналогичная проблема - я получал CLOSED_LOGIN_FAILED с com.facebook.FacebookOperationCanceledException: User canceled operation, и я определенно не отменял операцию.

После хороших 7-8 часов работы с каждой строкой кода приложения я заметил, что это было указано в моей активности в моем манифесте. Удаление его решило.

android:launchMode="singleInstance"

Ответ 5

Если вы используете приложение Facebook в режиме песочницы, убедитесь, что учетная запись, которую вы используете, находится в списке авторизованных администраторов или разработчиков.

Ответ 6

Попробуйте удалить приложение facebook с вашего устройства, а затем переустановите.

Ответ 7

У меня возникла та же проблема, но решение заключалось в том, что мне приходилось вводить в facebook (developper.facebook) и в настройках моих приложений и добавлять ключи, которые при использовании и добавлении имени пакета Если это не поможет вам попытаться получить доступ к этой ссылке для другого решения: "Android Facebook SDK 3.0 дает "remote_app_id не соответствует сохраненному идентификатору" при входе в систему

Ответ 9

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

как подписать ваш проект

как извлечь ключевой хэш

Ответ 10

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

достаточно странно, что он отлично работал на отлаживаемой не подписанной версии!

Ответ 11

Мы столкнулись с одной и той же проблемой и долго смотрели и гуглили. Я проверил ключ хэша, файл манифеста и многое другое, чтобы исправить эту проблему. Мы используем старую версию 3.23.1 для facebook sdk, и наше приложение не смогло подключиться к facebook, только для определенных телефонов. Он вернул состояние "CLOSED_LOGIN_FAILED" и через logcat сообщил: "Невозможно вызвать LoginActivity с нулевым вызывающим пакетом. Это может произойти, если startMode вызывающего является singleInstance".

На некоторых телефонах, как и у Fairphone, добавлена ​​новая функция: https://fairphone.zendesk.com/hc/en-us/articles/207164396-What-is-the-Privacy-Impact-feature-

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

Надеюсь, это поможет избежать седых волос, которые я получил во время его фиксации.

Ответ 12

Я также получил эту ошибку из SessionLoginSample в течение нескольких часов. Он работал после того, как я создал явное приложение SessionLoginSample на developer.facebook.com. Я скопировал идентификатор приложения в манифест Android и т.д., И он сработал. Другими словами, конфигурация Sample App, описанная в руководстве по началу работы в Facebook, не удалась.