마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Google Fit Sleep Data OAuth 관련 문의

0 추천

안녕하세요.

안드로이드 초보 개발자입니다.

구글 핏 OAuth 관련하여 문의 드립니다. 구글 핏을 연동하여 애플리케이션을 만들고 있는 중인데요.

샘플 코드는 Google Fit 정식 사이트의 Sample 페이지에 있는 github에서 받았습니다.

샘플 중 걸음 수 (StepCounterKotlin) 소스는 걸음 수를 정상적으로 받아왔습니다.

하지만 수면데이터(SleepKotlin) 코드를 실행시켜 보면 아래와 같은 에러가 발생합니다.

com.google.android.gms.common.api.ResolvableApiException: 5000: Application needs OAuth consent from the user at

 

샘플을 실행하면 첫 실행 시 동의 화면이 표시되고 이후 다음 코드들을 수행하는데요.

아래 코드 부분에서 client.readSession 호출 시 위 에러 문구가 표시되며 Fail 부분을 탑니다.

private fun readSleepSessions() {
        val client = Fitness.getSessionsClient(this, getGoogleAccount())
        val cal = Calendar.getInstance()
        val now = Date()
        cal.time = now
        val endTime = cal.timeInMillis
        cal.add(Calendar.DAY_OF_MONTH, -1)
        val startTime = cal.timeInMillis

        val sessionReadRequest = SessionReadRequest.Builder()
                .read(DataType.TYPE_SLEEP_SEGMENT)
                .includeSleepSessions()
                .readSessionsFromAllApps()
                .setTimeInterval(startTime, endTime, TimeUnit.MILLISECONDS)
                .build()

        client.readSession(sessionReadRequest)
                .addOnSuccessListener { dumpSleepSessions(it) }
                .addOnFailureListener { Log.e(TAG, "Unable to read sleep sessions", it)
        }
    }

구글 클라우드 콘솔에서 OAuth 2.0 클라이언트 ID를 추가하였고

OAuth 동의 화면에서 .../auth/fitness.sleep.read 속성도 추가하였습니다.

하지만 왜 위와 같은 에러가 발생하는지 도통 모르겠습니다.

 

* 개발환경

- 코틀린, 안드로이드스튜디오

- build.gradle(app) 에서 사용하는 라이브러리는

implementation "com.google.android.gms:play-services-fitness:20.0.0"
implementation "com.google.android.gms:play-services-auth:18.1.0"

 

푸리니페른 (310 포인트) 님이 2022년 9월 17일 질문
푸리니페른님이 2022년 9월 17일 수정

1개의 답변

+1 추천
 
채택된 답변
스택오버플로우에서 찾아보니 권한 관련 문제 같네요. 아래 링크를 참조하세요.

https://stackoverflow.com/questions/64677989/how-should-i-set-up-oauth-consent-screen-without-android-app-verification
spark (224,800 포인트) 님이 2022년 9월 17일 답변
푸리니페른님이 2022년 9월 17일 채택됨
문제 해결하였습니다.
확인해보니 WRITE에 대한 옵션 값만 설정되어있어 읽는 동작에서 계속 실패한 했던 거네요.
감사합니다.
...