카카오맵 SDK 401 에러 문의

kakao Map android SDK로 지도 호출시

2024-05-13 13:27:35.110 31399-31858 K3fAApi com.example.capstone1 E ← {null=[HTTP/1.1 401 Unauthorized], Connection=[keep-alive], Content-Type=[application/json;charset=UTF-8], Date=[Mon, 13 May 2024 04:27:35 GMT], Transfer-Encoding=[chunked], WWW-Authenticate=[Bearer realm=“kakao”,error=“invalid_token”,error_description=“The access token expired”], X-Android-Received-Millis=[1715574455108], X-Android-Response-Source=[NETWORK 401], X-Android-Selected-Protocol=[http/1.1], X-Android-Sent-Millis=[1715574455051], X-Request-Id=[52cb9582eaca517055f4d52eab36d043]}

2024-05-13 13:27:35.110 31399-31399 K3fAApi com.example.capstone1 E com.kakao.vectormap.MapAuthException: MapAuthException(401): Unauthorized

이렇게 에러가 나는데 이유를 알 수 있을까요?
키해시, 패키지명, 네이티브앱키 다 확인했습니다.

그리고 똑같은 코드로 팀원이 돌리면 지도도 제대로 뜨고 에러도 안나는데 테스트용으로 사용하는 안드로이드 폰 마다 호환성이 다른건지도 궁금합니다

MapAuthException(401): Unauthorized 에러는 인증 에러입니다.

디벨로퍼스 사이트에 등록 된 네이티브앱키해시키가 코드에 잘 들어갔는지 아래의 로그캣을 통해서 확인해보시기 바랍니다.

  • 앱키가 다르다면, 디벨로퍼스 사이트에 나와있는 네이티브 앱키를 코드에 가이드 처럼 넣으시면 됩니다. (로그 내용 중 KakaoAK 부분)
  • 해시키가 다르다면, 로그에 나와있는 해시키를 디벨로퍼스 사이트에 등록하시면 됩니다. (로그 내용 중 origin/ 뒤에 있음)

인증 키 관련 확인 방법:

> 지도 시작 시 디버그 로그캣 로그 중 "---> RequestHeader" 로 시작하는 로그에서 앱키와 해시키가 모두 포함되어 있는지 확인.

말씀하신대로 디벨로퍼스 사이트에 등록한 해시키가 달라 새로 등록하였습니다.

그래도 401 에러는 여전한데 어떻게 해결해야 할까요

또 저는 해시키를 터미널을 이용하여 얻었는데 로그캣에 나와있는 해시키와 다른 이유는 무엇인가요?

요청하신 해시키를 확인해보니, 해시키가 등록 된 것과 다르게 들어왔습니다.

요청한 해시키는 "G/+/" 로 시작되는 문자열인데, 디벨로퍼스에는 해당 문자로 시작되는 해시키가 등록되어 있지 않습니다. 잘못 요청했거나, 디벨로퍼스에 잘못 등록되었는지 확인 부탁 드립니다.

해시키는, KakaoMapSdk.INSTANCE.toString() 또는 KakaoMapSdk.INSTANCE.getHashKey() 를 찍어서 해시키를 확인해보실 수 있습니다.

감사합니다