Google Войти запрос на использование Fitness API всегда терпит неудачу - PullRequest
0 голосов
/ 30 октября 2019

Я следую этому руководству для интеграции Google Fit API

Шаги, которые я сделал:

  1. Создал проект в Firebase и настроил SHA-1введите настройки проекта.
  2. Загруженный файл JSON службы Google и добавление его в проект
  3. Включение API Google Fit в консоли проекта Google.
  4. Проверка автоматически сгенерированного клиента OAuthИдентификаторы присутствуют в разделе учетных данных.

Запрос на вход в Google всегда терпит неудачу. Поделиться кодом ниже.

private fun connectToGoogleFit() {
    Log.e("GOOGLE_FIT", "google fit init")
    val fitnessOptions = FitnessOptions.builder()
        .addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
        .addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
        .build()
    if (!GoogleSignIn.hasPermissions(
            GoogleSignIn.getLastSignedInAccount(this),
            fitnessOptions
        )
    ) {
        Log.e("GOOGLE_FIT", "no permission")
        GoogleSignIn.requestPermissions(
            this, // your activity
            GOOGLE_FIT_PERMISSIONS_REQUEST_CODE,
            GoogleSignIn.getLastSignedInAccount(this),
            fitnessOptions
        )
    } else {
        Log.e("GOOGLE_FIT", "has permission")
        accessGoogleFit()
    }
}
private fun accessGoogleFit() {
    //todo
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == GOOGLE_FIT_PERMISSIONS_REQUEST_CODE) {
        if (resultCode == Activity.RESULT_OK) {
            Log.e("GOOGLE_FIT", "connection success")
            accessGoogleFit()
        } else {
            Log.e("GOOGLE_FIT", "connection failed")
        }
    }
}

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

Доступные документы выглядят очень старыми. Я что-то пропустил?

1 Ответ

0 голосов
/ 05 ноября 2019

У меня была такая же проблема.

После более чем одного дня я выясняю решение.

Чтобы использовать Google Fit, вы должны включить Google Provider на панели аутентификации вашего проекта Firebase.

Панель Firebase

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