본문 바로가기
API/Kakao Developer

[Kakao API] 주소 검색 API 사용하기 - Maps API (ft. javascript REST API)

by 썸머워즈 2020. 8. 18.
반응형

주소 검색 API 사용 방법에 대해 알아보자


대체로 API 관련하여 예제가 존재하며, 그것을 가져다 쓰면 손쉽게 사용이 가능했는데


이번에 사용할 주소 검색 API는 예제가 존재하지 않는데


그래서 직접 시행착오를 겪으면서 적용을 해보았다.


우선 kakao developers에 존재하는 주소 검색에 관한 개발가이드이다.


https://developers.kakao.com/docs/latest/ko/local/dev-guide#address-coord



주소 검색 API는 REST API 로 제공하며


위와같은 내용뿐이여서 예제없이 처음해봐 매우 난감하였다.


인터넷에 많이 찾아봐도 대부분 서버단에서 처리하는 방법만 나오고 잘 안나왔는데


여기저기 짜집기 하다가 결국 javascript를 사용하여 rest api를 적용하는데 성공하였다.


소스자체는 매우 간단하다.


   $.ajax({
url:'https://dapi.kakao.com/v2/local/search/address.json?query='+encodeURIComponent('숭의동'),
type:'GET',
headers: {'Authorization' : 'KakaoAK APIKEY'},
success:function(data){
console.log(data);
},
error : function(e){
console.log(e);
}
});


REST API 방식이기 때문에 GET type으로 호출하며

headers를 선언하여 개발 가이드에서 안내해주는대로 Authorization 를 선언 후 API KEY를 넣어주었다.


고생한거에 비해서는 굉장히 짧은 코드인데 몇가지 알아보도록하자


우선 첫번째 왜 파라미터를 url에 직접 넣어주었는가?


$.ajax({

...

data : {query : '숭의동'}

...

})


이렇게 해봤는데 에러는 안나지만 api통해서 값을 못가져오는 현상이 발생하였다.


그래서 좀 찾아보니까 데브톡 에서 다음과 같이 안내를 하여서 그대로 따라하였다.



그래서 이렇게 해보니 잘돼서 그대로 사용할 예정이다.


두번째 "KakaoAK APIKEY" 처럼 중간에 띄어쓰기가 무조건 있어야 작동한다.


그리고 REST API를 사용하면서 자주 발생한 에러들


“errorType”:”AccessDeniedError”,”message”:”cannot find Authorization : KakaoAK header”


KA Header is required but neither os nor origin field is given


이렇게 두가지인데 첫번째는 그냥 틈만나면 발생한다. header로 선언해준것을 찾을수 없다는건데


위에 ajax로 보여준 코드대로 작성하면 잘 작동하니 걱정할것은 없다.


두번째는 kakao developer를 사용하면 알겠지만 api key를 여러개 발급해주는데


상황에 맞지않는 key를 사용했기때문에 발생하는 에러이다.


REST API KEY 를 제대로 사용해주면 잘 작동한다.



결과는 위와같이 나오며 필요에따라 ajax를 사용했으니 후처리를 해주면된다.


https://developers.kakao.com/tool/rest-api/open/get/v2-local-search-address.%7Bformat%7D


여기서 직접 어떤 결과가 나오는지 확인해보면된다.



반응형


댓글

TOP