REST API의 로컬API를 자바스크립트로 Request 하려 하는데 APP KEY를 어디에 넣어야 하나요??
다음지도API처럼
<script type="text/javascript" src="https://dapi.kakao.com/v2/local/geo/coord2regioncode.json?appkey=70ba2d0db2954eaa5108f45d1e965648&x=127.1086228&y=37.4012191"></script>
이런식으로 했는데 오류가 뜹니다
1개의 좋아요
REST API는
script 태그로 데이터를 받는것은 불가능하고
페이지 내부에서는 Ajax로 호출하셔야 합니다.
네 감사합니다.
그런데 http://developers.daum.net/services/apis/local/geo/coord2addr 여기서 제공되는 API는
Ajax로 다음과 같은 코드로 실행시 잘 받아와지는데요
var x=prompt(“위도 값:”);
var y=prompt(“경도 값:”);
$.ajax({
url:‘http://apis.daum.net/local/geo/coord2addr?apikey=64795da39ff21a427376e7054405d526&longitude=’+x+’&latitude=’+y+’&inputCoordSystem=WGS84&output=json’,
type:"get",
dataType:"jsonp",
jsonp:"callback",
success:function(data){
alert("완료!");
console.log(data);
https://developers.kakao.com/docs/restapi/local#주소-변환
위 링크에서 제공되는 REST API에서
var x=prompt(“위도 값:”);
var y=prompt(“경도 값:”);
$.ajax({
url:‘http:////dapi.kakao.com/v2/local/geo/coord2address.json?x=’+x+’&y=’+y+’&input_coord=WGS84’,
xhrFields: {
withCredentials: true
},
type:“get”,
contentType: “application/json; charset=utf-8”,
dataType:“jsonp”,
jsonp:“callback”,
beforeSend: function (xhr) {
xhr.setRequestHeader(‘Authorization’, ‘kakaoAK f7b6559e742f66210781a3c5f73db2d5’);
},
success:function(data){
alert(“완료!”);
console.log(data);
다음과 같이 실행시 401 unauthorization 에러가 뜨는데요… 헤더부분이 문제같은데 어떻게 수정해야 하나요??
p.s headers{
‘Authorization’: ‘KakaoAk {Appkey}’
}도 마찬가지네요…
에에… 일단 일반적인 의미로 REST API는 Ajax로 호출해야 한다고 말씀드린거고요.
일단 jsonp는 불가합니다. 해당 API는 그 서버가 jsonp를 지원하지 않습니다.
대신 CORS 이 허용된 REST API 이기 때문에 callback은 빼고 적용시켜야 하고요.
CORS가 허용되었지만 구형 브라우저(IE9 이하)에서는 지원하지 않아 동작하지 않습니다.
아래는 동작하는 코드이고요. 반드시 개발자 콘솔에서 도메인 등록을 하시고 시도해주세요.
$.ajax({
url: 'https://dapi.kakao.com/v2/local/search/address.json?query=동면',
headers: { 'Authorization': 'KakaoAK YOUR_APP_KEY'},
type: 'GET'
}).done(function(data) {
console.log(data);
});