키 : 2e3xxxxxxxxxxxxxxxxxx******
AppId: 335178
-
async onSearchJuso(cmd) {
let URL1 = 'https://dapi.kakao.com/v2/local/search/address.json?query=서울 서초구';
let params1 = {
};
let config1 = {
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'KakaoAK ' + '2e347xxxxxxxxxxxxxxxxxxxxxxxxxx'
}
};
axios.defaults.withCredentials = false;
let response1 = await axios.get(URL1, { params: params1 }, config1);
console.log(response1);
}
- response
{“errorType”:“AccessDeniedError”,“message”:“cannot find Authorization : KakaoAK header”}
- 상태값
Request URL: https://dapi.kakao.com/v2/local/search/address.json?query=서울%20서초구
Request Method: GET
Status Code: 401 Unauthorized
Remote Address: 203.217.239.16:443
Referrer Policy: strict-origin-when-cross-origin
Access-Control-Allow-Headers: Authorization, KA, Origin, X-Requested-With, Content-Type, Accept
Access-Control-Allow-Methods: GET, OPTIONS
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Type: application/json;charset=UTF-8
Date: Mon, 09 Nov 2020 07:57:30 GMT
Server: nginx
Transfer-Encoding: chunked
X-Request-Id: 377a0dd0-2261-11eb-b041-492da67ee468
Accept: application/json, text/plain, /
Accept-Encoding: gzip, deflate, br
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
Connection: keep-alive
Host: dapi.kakao.com
Origin: http://localhost:3000
Referer: http://localhost:3000/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36
query: 서울 서초구
response body를 한번 살펴보시면 원인을 같이 응답 주고 있어요. body를 한번 출력해 보시겠어요?
로그를 대략 살펴보았는데, 요청한곳의 domain 등록이 제대로 되지 않은 케이스가 아닌가 추정됩니다.
PS) 해당 앱의 앱 아이콘과 이름을 좀 더 상세히 해주시면 좋을것 같아요.
키와 연결된 도메인 내용입니다.
1.https://evci.duckdns.org에서 작업한 log 입니다.
'Authorization': 'KakaoAK ' + '2e3471exxxxxxxxxxxxxx******'
위의 내용이 전달이 되지 않는 현상입니다.
혹시 asyn와 await 때문이지요 ?
Request URL: https://dapi.kakao.com/v2/local/search/address.json?query=서울%20서초구
Request Method: GET
Status Code: 401 Unauthorized
Remote Address: 203.217.239.16:443
Referrer Policy: strict-origin-when-cross-origin
Access-Control-Allow-Headers: Authorization, KA, Origin, X-Requested-With, Content-Type, Accept
Access-Control-Allow-Methods: GET, OPTIONS
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Type: application/json;charset=UTF-8
Date: Tue, 10 Nov 2020 01:51:03 GMT
Server: nginx
Transfer-Encoding: chunked
X-Request-Id: 30f744f0-22f7-11eb-9d26-e53626908110
Accept: application/json, text/plain, /
Accept-Encoding: gzip, deflate, br
Accept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7
Connection: keep-alive
Host: dapi.kakao.com
Origin: https://evci.duckdns.org
Referer: https://evci.duckdns.org/
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: cross-site
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.193 Safari/537.36
query: 서울 서초구
해결을 했습니다.
다른 분을 위해서 적어 놓습니다.
axios와 dapi.kakao.com/v2/local/search/address.json에 대한 header 설정은
axios.defaults.withCredentials = false;
axios.defaults.headers.common['Authorization'] = 'KakaoAK ' + 'xxxxxxxxxxxxxxxxxxxxxxx';
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
위와 같이 해야 401에러가 나지 않습니다.
header 정보가 세팅이 되지 않아서 발생한 문제입니다.
let URL = "https://dapi.kakao.com/v2/local/search/address.json?query=독립문공원길17";
let params = {};
let config1 = {};
axios.defaults.withCredentials = false;
axios.defaults.headers.common['Authorization'] = 'KakaoAK ' + 'xxxxxxxxxxxxxxxxxxxxxxx';
axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
axios.get(URL, { params: params }, config1)
.then(function (response) {
console.log("response : ", response.data.documents);
})
.catch(function (error) {
console.log(error.response.headers);
})
.finally(function () {
console.log("finally ");
});
3개의 좋아요