카카오맵 Android SDK 401 에러 문의

문의 시, 사용하시는 SDK 버전 정보와 디벨로퍼스 앱ID를 알려주세요.
v2, 앱 ID : 1058722
Faq 목록 - 10. Android ( Faq 목록 입니다 ) 먼저 확인해주세요.


  1. 안드로이드 카카오맵 api를 불러오지 못함 ((401 unauthorize) 에러)

  2. 안드로이드 기기 64bit arm6-8a 사용 중

  3. 로그캣 K3F 검색시 에러

  <-- {null=[HTTP/1.1 401 Unauthorized], Connection=[keep-alive], Content-Type=[application/json;charset=UTF-8], Date=[Mon, 08 Apr 2024 05:16:41 GMT], Transfer-Encoding=[chunked], WWW-Authenticate=[Bearer realm="kakao",error="invalid_token",error_description="The access token expired"], X-Android-Received-Millis=[1712553401840], X-Android-Response-Source=[NETWORK 401], X-Android-Selected-Protocol=[http/1.1], X-Android-Sent-Millis=[1712553401771], X-Request-Id=[355964b4956097a7c9a3c7b118f43887]}


2024-04-08 14:16:41.842 17282-17282 K3fAApi    com.kakao.maps.open.android          E  com.kakao.vectormap.MapAuthException: MapAuthException(401): Unauthorized
at com.kakao.vectormap.MapAuthHttpClient.run(MapAuthHttpClient.java:94)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)

네이티브 값은 플랫폼 생성 후 넣었습니다.
샘플 프로젝트를 다운받아 사용중이라 디버그 해시 값이 잘못 들어오는지 봐주시면 감사하겠습니다.
샘플 프로젝트의 MapApplication.java에서 init 부분 apikey값만 수정하였습니다.

네이티브 키 값

MapApplication.java // 해당 위 네이티브 키 값은 이 파일 init에다가 넣었고

디버그 키 값

플랫폼 → 키 해시에 디버그 키값 은 넣었습니다.

@dbsrbtjs

앱 정보에 등록된 것과 다른 키해시 값으로 호출되고 있어요.

샘플 프로젝트에서 키 값을 놓는 거는 MapApplication에서 네이티브 값밖에 없는 거 같은데
앱 정보에 등록된 것과 다른 키해시 값이면 네이티브 앱 키 값이 아닌 디버그 해시키값이 옳바르지 않다는 것인가요?

밑 사진은 MapApplication에 네이티브 값을 넣은 것입니다.

그리고 배포용이 아닌 테스트용으로 사용한 거라 아래사진과 같이 디버그 키 해시 값을 집어넣었는데 어느 부분의 키 해시값이 잘못호출되는건지 궁금합니다. (릴리즈 키 생성 후 릴리즈 키 값을 넣어도 되지 않았습니다.)

@dbsrbtjs

호출 기록 상에는 키해시가
KvP*** 로 시작되는 값으로 확인됩니다.

키해시 관련 아래의 안내글 추가로 공유드립니다.
관련있는 부분이 있는 지 한번 확인 부탁드려요.
https://devtalk.kakao.com/t/android/132175

cc. @tim.l

@dbsrbtjs cc. @KakaoMap

안녕하세요.

개발하신 앱에서 카카오로 전달하지만, 디벨로퍼스 설정에 등록되지 않은 키해시는 아래와 같습니다.

KvPEvboM8w9f*********************

오늘 오전에는 NATIVE_APP_KEY 대신 ADMIN_KEY 를 사용하셔서 발생한 에러도 확인됩니다.

키해시 확인이 용이하지 않다면, 위에 안내드린 링크의 내용과 같이
개발하신 앱내 키해시조회 로깅하셔서 확인해보시면 좋을 것 같습니다.

감사합니다.

import com.kakao.sdk.common.util.Utility
var keyHash = Utility.getKeyHash(this)
1개의 좋아요

감사합니다 근데 한가지 문제가 있습니다.|
import com.kakao.sdk.common.util.Utility 선언 과정에서 Cannot resolve symbol 에러가 발생합니다.

gradle에 해당 implementation ‘com.kakao.sdk:v2-user:2.x.x’ 문구를 넣었음에도 sdk를 받아들이지 못하던데 무엇이 문제일까요

라이브러리 참조하지 못하는 일반적인 문제 같습니다.

(1) 클린 후, 리빌드
Build > Clean ProjectBuild > Rebuild Project

(2) 캐시 삭제
File > Invalidate Caches / Restart

(3) Gradle Refresh
View > Tool Windows > Gradle : Refresh Gradle Dependencies

위와 같이 해도 안된다면, 빈 프로젝트 하나 만드셔서 keyHash 조회만 정상작동하는지 확인해보시면 좋을 것 같습니다.

Maven 레파지토리 설정이 문서와 같이 되어있는지도 다시 한번 확인하시면 좋을 것 같습니다.

감사합니다.