본문 바로가기
프로그래밍/Android

[Android] 카카오 API 로그인시 302에러

by Youngs_ 2023. 3. 30.

카카오톡이 깔려있는데, 로그인이 되지 않았을 경우에 loginWithKakaoTalk을 이용해 로그인을 시도하면 302에러가 나오는데 그럴겅우에는 아래 코드처럼 302의 경우에 예외처리를 어떻게 할지 만들면된다.

 

if (error.toString().contains("statusCode=302")) {
                loginWithKakaoAccount()
            }

 

이하 콜백 코드 전문

val callback: (OAuthToken?, Throwable?) -> Unit = { token, error ->

        if (error != null) {
            Log.e("TAG", "로그인 실패", error)
            if (listener != null)
                listener!!.onKakaoLoginResult(null)

            if (error.toString().contains("statusCode=302")) {
                loginWithKakaoAccount()
            }
        } else if (token != null) {
            Log.i("TAG", "로그인 성공 ${token.accessToken}")

            UserApiClient.instance.me { user, error ->

                if (error != null) {
                    Log.e("TAG", "사용자 정보 요청 실패", error)
                } else if (user != null) {
                    Log.i(
                        "TAG", "사용자 정보 요청 성공" +
                                "\n회원번호: ${user.id}" +
                                "\n이메일: ${user.kakaoAccount?.email}" +
                                "\n닉네임: ${user.kakaoAccount?.profile?.nickname}" +
                                "\n프로필사진: ${user.kakaoAccount?.profile?.thumbnailImageUrl}"
                    )

                    this.user = user

                    if (listener != null)
                        listener!!.onKakaoLoginResult(user)
                }
            }
        }
    }

댓글