๐ฌ ๋ค์ด๊ฐ๋ฉฐ
๊ณต๋ชจ์ ๊ฐ๋ฐ์ ์งํํ๋ฉฐ ์๋, ๊ฒฝ๋ ๊ฐ์ ์ด์ฉํ๋ ๋ถ๋ถ์ด ์์ด Geolocation์ ํตํด ์๋ ๊ฒฝ๋ ๊ฐ์ ๋ฐ์์ ์ฌ์ฉ์ค์ด์๋ค.
์ด๋ฒ์ ํ์ฌ์์น๋ฅผ ๋์์ผ ํ๋ ์ํฉ์ด ์๊ฒจ ๋ฐ์์๋ ์๋, ๊ฒฝ๋ ๊ฐ์ ์ด์ฉํด ์์ธ ์ฃผ์๋ฅผ ๋ฐ์์ค๋ ๋ฐฉ๋ฒ์ ๊ณต์ ํด๋ณธ๋ค.
โ ๋ฌธ์ ์ํฉ
Cannot find Authorization : KakaoAK header
kakao API ๋ฅผ ์ด์ฉํด ๋ค์ํ ๊ธฐ๋ฅ๋ค์ ๊ตฌํํ๋ ๋ฐฉ์์ ๋ค๋ฅธ ๋ธ๋ก๊ทธ๋ค, ๊ณต์ ๋ฌธ์ ๋ฑ์ ์์ธํ ๋์์๋ค. ๋ฐ๋ผํ๋ ์์ค ๊ณ์ํด์ ์์๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
์ด๊ธฐ์๋ 401 ์ค๋ฅ์์ฒด๊ฐ ๊ถํ ๋ฌธ์ ๋ผ๋ ์๊ฐ์ ๋ด Key๊ฐ, IP, ํธ์คํธ ์ฃผ์์ค์ ๋ฑ์ด ๋ฌธ์ ์ธ์ค ์๊ณ ๋ป์ง์ ํ๋ค๊ฐ. ๋ค๋ฅธ๋ถ์ด ์์ฑํ์ ์ง๋ฌธ ๊ธ์ ๋ณด๊ณ ํ์์ด ์๋ชป๋ ๊ฒ์ ์์๋ค.
๐ก ๋ฌธ์ ํด๊ฒฐ
const fetchAddress = async () => {
try {
const response = await axios.get(`https://dapi.kakao.com/v2/local/geo/coord2address.json?input_coord=WGS84&x=${longitude}&y=${latitude}`, {
headers: {
Authorization: '๋ด Rest Key ๊ฐ',
},
});
์ด๋ฐ ์์ผ๋ก header ์ ํด๋น ํค๊ฐ๋ง ์ ์ฉํ๊ณ ์์๋ค.
const response = await axios.get(`https://dapi.kakao.com/v2/local/geo/coord2address.json?input_coord=WGS84&x=${longitude}&y=${latitude}`, {
headers: {
Authorization: 'KakaoAK' + ' ' + '๋ด Rest API ํค๊ฐ',
},
});
์์ ๊ฐ์ด ๋์ด์ฐ๊ธฐ ๊น์ง ํ์คํ ์ ์ฉํด์ค์ผ ํ๋ค.
์ด๋ ๊ฒ ํด๋ ์๋๋ค๋ฉด, ์ฒ์์ ๋ด๊ฐ ํ๋ ๋ป์ง๊ณผ ๊ฐ์ด IP, ๋ฑ๋ก๋ ์ฃผ์ ๋ฑ์ ํ์ธํด ๋ณด๊ธธ ๋ฐ๋๋ค.
์ฌ์ดํธ ๋๋ฉ์ธ ํ์ธ
์นด์นด์ค ๋๋ฒจ๋กญ -> ๋ด ์ ํ๋ฆฌ์ผ์ด์ -> ์ฑ์ค์ -> ํ๋ซํผ -> Web ์ฌ์ดํธ ๋๋ฉ์ธ ํ์ธ
๐ ๋ง์น๋ฉฐ
ํ์ฐธ์ ํค๋ฉ๊ณ ์ฑ๊ณตํ๋ค ๋ณด๋ฉด ๋ณ๊ฑฐ ์๋ ๊ฑธ๋ก ํญ์ ์๊ฐ์ ๋ณด๋๋ค. ์ด๋ฒ์๋ ํ๋ฌดํ๊ณ ์ฑ๊ณต์ ์ธ ๊ฒฐ๊ณผ์ ํจ๊ป ๊ณต์๋ฌธ์ ํ์ธ์ ์ํ์๋ ๊ตํ์ ๋ฐฐ์ฐ๊ณ ๊ฐ๋ค.
๐ ์ฐธ๊ณ
https://developers.kakao.com/docs/latest/ko/local/dev-guide#address-coord
https://devtalk.kakao.com/top?period=weekly
'Front-End > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React๋ ์ ๋จ๋ฐฉํฅ์ผ๋ก๋ง ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์ ์์๊น? (๋ถ๋ชจ -> ์์) (0) | 2024.01.18 |
---|---|
React ๋ผ์ดํ์ฌ์ดํด (ํจ์ ์ปดํฌ๋ํธ, ํด๋์ค ์ปดํฌ๋ํธ) (0) | 2023.08.29 |
[React] useHistory๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ค๋ก๊ฐ๊ธฐ (2) | 2023.05.18 |
[ํ๊ฒฝ๊ตฌ์ฑ] CRA๋ฅผ ์ด์ฉํ React ํ๊ฒฝ๊ตฌ์ฑ (0) | 2023.05.12 |
useMemo์ useCallback, React.memo ์ ์ฐจ์ด์ (0) | 2023.05.05 |