Я следую этому руководству для интеграции Google Fit API
Шаги, которые я сделал:
- Создал проект в Firebase и настроил SHA-1введите настройки проекта.
- Загруженный файл JSON службы Google и добавление его в проект
- Включение API Google Fit в консоли проекта Google.
- Проверка автоматически сгенерированного клиента 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 при выборе учетной записи в диалоговом окне.
Доступные документы выглядят очень старыми. Я что-то пропустил?