์นด์นด์ค ๊ฐํธ ๋ก๊ทธ์ธ์ ๋ง๋ค์ด๋ณด์!
๋จผ์ ์ด๋ป๊ฒ ๋ง๋ค์ด์ผํ๋์ง ๊ตฌ์กฐ์ ํ๋ฆ์ ํ์ ํ๊ณ
์นด์นด์ค ๋๋ฒจ๋กํผ์ค๋ฅผ ์ค์ ํ์.
1. ์นด์นด์ค ๋๋ฒจ๋กํผ์ค
Kakao Developers
์นด์นด์ค API๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํด ๋ณด์ธ์. ์นด์นด์ค ๋ก๊ทธ์ธ, ๋ฉ์์ง ๋ณด๋ด๊ธฐ, ์น๊ตฌ API, ์ธ๊ณต์ง๋ฅ API ๋ฑ์ ์ ๊ณตํฉ๋๋ค.
developers.kakao.com
- ์นด์นด์ค ๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ
Kakao Developers
์นด์นด์ค API๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํด ๋ณด์ธ์. ์นด์นด์ค ๋ก๊ทธ์ธ, ๋ฉ์์ง ๋ณด๋ด๊ธฐ, ์น๊ตฌ API, ์ธ๊ณต์ง๋ฅ API ๋ฑ์ ์ ๊ณตํฉ๋๋ค.
developers.kakao.com
- ์นด์นด์ค ๋ก๊ทธ์ธ ์ดํดํ๊ธฐ
Kakao Developers
์นด์นด์ค API๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํด ๋ณด์ธ์. ์นด์นด์ค ๋ก๊ทธ์ธ, ๋ฉ์์ง ๋ณด๋ด๊ธฐ, ์น๊ตฌ API, ์ธ๊ณต์ง๋ฅ API ๋ฑ์ ์ ๊ณตํฉ๋๋ค.
developers.kakao.com
์ด ์์ ์๋ ์ธ ๊ฐ์ ์ฃผ์์ ๋ค์ด๊ฐ์ ๊ผญ ์ฝ์ด๋ณด์๊ธธ ๋ฐ๋๋๋ค! ์ ๋ ์ฌ๋ฌ๋ฒ ์ฝ์๋๋ฐ๋ ์ฝ๋๋ฅผ ๊ณต๋ถํ๊ณ ์์ฑํ๋ฉด์ ๋ง์ ๋ฒ๊ฑฐ์์ด ์์์ต๋๋ค. ํนํ Vue๋ก ์์ฑํ๋ ์ฝ๋๋ ์นด์นด์ค์์ ์ ๊ณตํ๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์ ๋ ์ด๋ ค์ ์ต๋๋ค.(์ฌ์ค ์์ด๋ ์ด๋ ค์ ์...) ๊ทธ๋์ ์ต๋ํ ์ฒ์ฒํ ๊ผผ๊ผผํ๊ฒ ์ฝ์ด์ ์ด๋ป๊ฒ ๋์์ด ์ด๋ค์ง๋์ง, ์นด์นด์ค์์ ์๊ตฌํ๋ ๋ฐฉ์์ ์ด๋ค ๋ฐฉ์์ธ์ง ์์๋๋๊ฒ ์ข์ต๋๋ค. ์ ์ ์ง์์ด ๋ถ์กฑํด์ ๊ทธ๋ฐ ๊ฒ๋ ์๊ฒ ์ง๋ง, ์ ์ฒ๋ผ ์ด๋ณด ๊ฐ๋ฐ์ ๋ถ๋ค์ ๊ผญ ์ฌ๋ฌ๋ฒ ์ฝ๊ธธ ๋ฐ๋๋๋ค. ๊ทธ๋์ผ ๋ค๋ฅธ ๋ถ๋ค์ ์ฝ๋๋ฅผ ๋ณต์ฌํ๋๋ผ๋ ํน์ GPT์ ๋ฌผ์ด๋ณด๋๋ผ๋ ์ด๋ ์ ๋์ ํ๋ฆ์ ํ์ ํ ์ ์์ต๋๋ค. ํ์ ์ด ์๋๋ฉด ์ฝ๋๋ฅผ ๋ณต๋ถํด๋ ๋ง์ด ์ด๋ ต๋๋ผ๊ณ ์. ์ํผ ์ ๋ ๋๋ฝ๊ฒ ์ด๋ ค์์ ๋๋ ค์น ๋ป ํ๊ธธ ๋ง๋ฒ์ฏค ๊ณ ๋ฏผํ๋ค ์ด์ฐ์ ์ฐ ํด๋๋ค์... ์ ๊ธ์ด ๋์์ด ๋๊ธธ ๋ฐ๋๋๋ค. ํ์ดํ !
2. ํ๋ฆ ํ์
- ์นด์นด์ค ๋ก๊ทธ์ธ



์ฒ์์ Vue๋ฅผ ํตํด ์นด์นด์ค ๋ก๊ทธ์ธ ์ฐฝ์ด ๋ณด์ด๋๋ก ํด์ผํ๋ค. ์ฐ๋ฆฌ๊ฐ ์ตํ ์ ์๋ ๊ทธ ํ๋ฉด์ด๋ค. ๊ทธ ํ๋ฉด์ ๋ฐ๊ธฐ ์ํด ์ฌ๋ฌ ์ค๋น๋ฌผ์ด ํ์ํ๋ค. ์นด์นด์ค์๊ฒ ๋ก๊ทธ์ธ ์์ฒญ์ ๋ณด๋ด์ผํ๋๋ฐ, ์ด๋ URL ์ฃผ์๋ฅผ ๋ฃ๊ณ ๊ทธ ์ฃผ์์ response_type๊ณผ REST API KEY(์ด๋ค ์ฌ์ ์ฅ์ผ๋ก ๋ฐ์์ง ๋ฐ๊ธํ ํค, client_id)์ REDIRECT_URI(์ธ๊ฐ์ฝ๋๋ฅผ ์ด๋๋ก ๋ฐ์์ง) ๊ทธ๋ฆฌ๊ณ state(ํ์๋ ์๋)๋ฅผ ์ฒจ๋ถํ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์์ฒญ์ ์ฌ์ง์ ์ ํ ๊ฒ์ฒ๋ผ GET ๋ฐฉ์์ผ๋ก ์ด๋ค์ค์ผํ๋ค.
GET ๋ฐฉ์์ผ๋ก /oauth/authorize ๊ฒฝ๋ก๋ก ๋ณด๋ด๋ฉด ์นด์นด์ค ๊ฐํธ ๋ก๊ทธ์ธ ํ๋ฉด์ ๋ฐ๊ฒ ๋๋ค. ๊ทธ๊ฒ 2๋ฒ ์นด์นด์ค ๊ณ์ ๋ก๊ทธ์ธ ์์ฒญ์ด๋ค. ์ฌ์ฉ์๋ ํ๋ฉด์ ๋ฐ๊ณ ๋ก๊ทธ์ธ์ ํ๊ฒ ๋๋ฉด, ๋์ ํ๋ฉด์ด ์ถ๋ ฅ๋๋ค. ์ฌ์ฉ์๋ ์ด๋ฉ์ผ, ์์ด๋, ์ด๋ฆ, ๋๋ค์, ์ฑ๋ณ, ์์ผ ๋ฑ ์ด๋ค ์ ๋ณด๋ฅผ ๋ณด๋ผ์ง ์ ํํ๋ค. ๋ฌผ๋ก ์ด ํ๋ก์ ํธ์์ ๋๋ค์๋ง ๋ฐ์ ๊ฒ์ด๋ค. ์๋ํ๋ฉด, ๋๋ค์๋ง ๊ฐ๋ฅํ๋ค...! ๊ทธ๋ ๊ฒ ์ฌ์ฉ์๊ฐ ํ์๋ก ์ ํ ๋๋ค์์ ์ ํํ๋ฉด ์นด์นด์ค์๊ฒ REDIRECT_URI๋ก ์ธ๊ฐ์ฝ๋๋ฅผ ๋ฐ๊ฒ๋๋ค.
์ด๊ฒ ์ฒซ ๋ฒ์งธ ์๋ จ์ด๋ค. ์ธ๊ฐ์ฝ๋๋ฅผ ๋ฐ์์ค๋ ๊ฒ. Vue์ ์นด์นด์ค ๊ฐํธ ๋ก๊ทธ์ธ ํ๋ฉด์ด ์ถ๋ ฅ๋๋ค๋ฉด ์ธ๊ฐ์ฝ๋๋ฅผ ๋ฐ๋ ๋ถ๋ถ์ ๋์ฒด๋ก ๋ฌธ์ ๊ฐ ์์ ๊ฒ์ด๋ค. ํ์ง๋ง ๋ ๋ฒ์งธ ์๋ จ์ ์ด๋ง์ด๋งํ๋ค. ์นด์นด์ค๊ฐ ์ค ์ธ๊ฐ ์ฝ๋๋ก ํ ํฐ์ ๋ฐ์์์ผ ํ๋ค. ํ๋ฉด์ ์ ๋ํ๋ฌ์ง๋ง, ์นด์นด์ค ๋ก๊ทธ์ธ์ ์คํจํ๋ค๋ฉด ํ ํฐ ํํธ์ ๋ฌธ์ ๊ฐ ์๊ฒผ๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
์์ฒญ ์ฝ๋ ์์ (์ฃผ์์ ์ด๋ ๊ฒ ๋ค์ด๊ฐ์ผํจ)
"https://kauth.kakao.com/oauth/authorize?response_type=code
&client_id=${REST_API_KEY}&redirect_uri=${REDIRECT_URI}"
- ํ ํฐ



์ด์ ํ ํฐ ํํธ๋ ์คํ๋ง์ผ๋ก ๋์ด๊ฐ๋ค. ์ธ๊ฐ ์ฝ๋๊น์ง ํ๋ก ํธ์์ ์งํํ์ง๋ง, ํ ํฐ์ ๋ฐ์์ค๋๊ฑด ๋ฐฑ์๋์์ ์งํํ ๊ฒ์ด๋ค. ๊ทธ๋์ ํ๋ก ํธ๋ ๋ฐฑ์๋๋ก ์ธ๊ฐ ์ฝ๋๋ฅผ ๋ณด๋ด์ผํ๋ค. ํ ํฐ์ ์์ฒญํ ๋, "https://kauth.kakao.com/oauth/token"๋ฅผ POST๋ก ๋ณด๋ธ๋ค. ์ด๋ ํค๋์ ๊ผญ ์ ์ด์ผํ ๊ฒ์ด ์๋ค. ์ฒซ ๋ฒ์งธ ์ฌ์ง์ ๋ณด๋ฉด ํค๋๋ผ๊ณ ์ ํ์๋๋ฐ, ๊ทธ ์์ Content-Type์ ๋ํ ์ค๋ช ์ด ์๋ค. Content-Type์ application/x-www-form-urlencoded์ผ๋ก ์ผ๋จ ์ง๊ธ์ ๋์ถฉ form ํ์ ์ผ๋ก ๋ณด๋ด์ผํ๋ค๊ณ ์๊ฐํด๋๋ฉด ์ข๋ค. ๋ณธ๋ฌธ(๋ฐ๋)์๋ grant_type(authorization_code), REST API KEY(client_id), redirect_uri(์๋ต๋ฐ์ ๊ณณ), code(์ธ๊ฐ ์ฝ๋)๊ฐ ๋ค์ด๊ฐ๋ค.
์ฌ์ฉ์๊ฐ ๋์ํ ๋ฐ์ดํฐ๋ ์นด์นด์ค๊ฐ ์ ๊ฐ์ง๊ณ ์๋ค. ์ฐ๋ฆฌ๋ ์นด์นด์ค๊ฐ ์ค ์ธ๊ฐ ์ฝ๋๋ก ํ ํฐ์ ๋ฌ๋ผ๊ณ ํด์ผํ๋ค. ๊ทธ๋์ ๋ณธ๋ฌธ์ ์ธ๊ฐ์ฝ๋๋ฅผ ์ค์ด์ ์นด์นด์ค๋ก ๋ณด๋ธ๋ค. ๋ฐ์์จ ํ ํฐ์ ๊ฐ์ง๊ณ ์ฌ์ฉ์๊ฐ ๋์ํ ๊ถํ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์ฌ ์ ์๊ฒ ๋๋ค. ์ธ๊ฐ ์ฝ๋ ์์ฒญ๋ง์ผ๋ก๋ ์นด์นด์ค ๋ก๊ทธ์ธ์ด ์๋ฃ๋์ง ์๋๋ค. ํ ํฐ ์์ฒญ์ ์ฑ๊ณตํด์ผ ์นด์นด์ค ๋ก๊ทธ์ธ์ด ์ ์์ ์ผ๋ก ์๋ฃ๋๋ค.
์์ฒญ ์์ ์ฝ๋ (๋์ถฉ ์ด๋ฐ๊ฒ ๋ด์์ผํ๋ค)
curl -v -X POST "https://kauth.kakao.com/oauth/token" \
-H "Content-Type: application/x-www-form-urlencoded;charset=utf-8" \
-d "grant_type=authorization_code" \
-d "client_id=${REST_API_KEY}" \
--data-urlencode "redirect_uri=${REDIRECT_URI}" \
-d "code=${AUTHORIZE_CODE}"


์๋ต์๋ ์ด ์ ๋ณด๋ค์ด ํ์์ ์ผ๋ก ๋ค์ด์๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ access_token๋ง ๊บผ๋ด ์ฌ์ฉํ ๊ฒ์ด๋ค. ๊ทธ๋์ผ ์ฌ์ฉ์ ๋๋ค์์ ๊ฐ์ ธ์ฌ ์ ์๋ค.
์๋ต ์์ ์ฝ๋ (Content-Type์ json์ผ๋ก ์๋ต์ด ์จ๋ค๋ ๊ฑธ ์์์ผํ๋ค)
HTTP/1.1 200
Content-Type: application/json;charset=UTF-8
{
"token_type":"bearer",
"access_token":"${ACCESS_TOKEN}",
"expires_in":43199,
"refresh_token":"${REFRESH_TOKEN}",
"refresh_token_expires_in":5184000,
"scope":"account_email profile"
}
- ์ฌ์ฉ์ ์ ๋ณด ์กฐํ


๋ฐ๊ธํ ์ฌ์ฉ์ ์์ธ์ค ํ ํฐ์ ํค๋์ ๋ด์ GET ๋๋ POST๋ก ์์ฒญํ์ฌ, ์ฌ์ฉ์๊ฐ ๋์ํ ํญ๋ชฉ์ ์กฐํํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ"https://kapi.kakao.com/v2/user/me"๋ก ๋ณด๋ด์ผ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์ฝ์ด ์ฌ ์ ์๋ค. ์ธ์ฆ ๋ฐฉ์์ ์์ธ์ค ํ ํฐ, ์ฑ ์ด๋๋ฏผ ํค๊ฐ ์์ง๋ง ์ด ํ๋ก์ ํธ์์ ์์ธ์ค ํ ํฐ์ผ๋ก ์ธ์ฆํ ๊ฒ์ด๋ค. ์๋ํ๋ฉด ์ด๋๋ฏผ ํค๋ ๋ณด์์ ์ ์ํ์ฌ ์ฌ์ฉํด์ผํด์ ๋ณด์์ ์ต์ํํ์ฌ ๋ง๋ค ์ด ํ๋ก์ ํธ์ ์ ํฉํ์ง ์๋ค๊ณ ์๊ฐ๋๋ค.
์์ธ์ค ํ ํฐ ๋ฐฉ์์ผ๋ก ์์ฒญํ ๋ ์นด์นด์ค์์ ๋ช ์ํ ๊ท์ ์ Bearer๋ฅผ ์ฌ์ฉํ๋ผ๋ ๊ฒ์ด๋ค. Bearer์ ํ ํฐ์ ์์ ํ ์ฌ๋์ด๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. Content-Type์ ํ ํฐ์ ๋ฐ๊ธ๋ฐ์ผ๋ ค๊ณ ํ์ ๋์ ๊ฐ์ด application/x-www-form-urlencoded๋ผ๊ณ ๋์ด์๋ค. POST ๋ฐฉ์์ผ๋ก ๋ณด๋ด๊ฒ ๋๋ค๋ฉด ๋ฐ๋๊ฐ ๋ค์ด๊ฐ๋๊น, ๋ฐ๋์ ํ์์ ์๋ฒ์ ์๋ฆฌ๊ธฐ ์ํด Content-Type์ ์นด์นด์ค๊ฐ ๊ท์ ํ ๊ฒ๊ณผ ๊ฐ์ด ์ค์ ํด์ผํ๋ค. ๊ทธ๋ฌ๋ ์ด ํ๋ก์ ํธ์์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ์กฐํํ ๋, GET์ผ๋ก ๋ณด๋ผ๊ฑฐ๊ณ ๋ฐ๋๊ฐ ๊ฐ์ง ์์ ์ฌ์ฉ์ ์ ๋ณด ์กฐํ์์ Content-Type์ ์ ๊ฒฝ์ฐ์ง ์์ ๊ฒ์ด๋ค.
3. ์นด์นด์ค ๋๋ฒจ๋กํผ์ค ์ค์ ํ๊ธฐ
- ์นด์นด์ค ๋๋ฒจ๋กํผ์ค (๋ก๊ทธ์ธ ํน์ ํ์๊ฐ์ )
- ์นด์นด์ค ๋๋ฒจ๋กํผ์ค ๋ฉ์ธํ๋ฉด
Kakao Developers
์นด์นด์ค API๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํด ๋ณด์ธ์. ์นด์นด์ค ๋ก๊ทธ์ธ, ๋ฉ์์ง ๋ณด๋ด๊ธฐ, ์น๊ตฌ API, ์ธ๊ณต์ง๋ฅ API ๋ฑ์ ์ ๊ณตํฉ๋๋ค.
developers.kakao.com
- ์ฑ - ์ฑ์์ฑ ๋ค์ด๊ฐ๊ธฐ

- ์ฑ ์์ฑํ๊ธฐ

- Website Test ๋ค์ด๊ฐ๊ธฐ

- ๋ฉ๋ด - ์ฑ - ์ผ๋ฐ ๋ค์ด๊ฐ๊ธฐ

- REST API ํค ๋ฉ๋ชจ์ฅ์ ์ ์ด๋๊ธฐ

์์ ์ด๋ฌ๋ ์๊ด ์์ง๋ง, ๋์ค์ ์ฐพ์์ผํด์ ๊ท์ฐฎ์ต๋๋ค. ํค๋ ํน์ ๋ชฐ๋ผ์ ์ง์ ๋๋ฐ, ์ซ์์ ์๋ฌธ์๊ฐ ํฉํด์ง ๋ฌธ์์ด์ด ์ ํ์์ต๋๋ค.
- ์คํฌ๋กค ๋ด๋ ค์ Web ํ๋ซํผ ๋ฑ๋ก



- ๋ฉ๋ด - ์นด์นด์ค ๋ก๊ทธ์ธ - ์ผ๋ฐ ๋๋ฅด๊ธฐ

- ์ฌ์ฉ ์ค์ ์ํ ON

- ์คํฌ๋กค ๋ด๋ ค์ ๋ฆฌ๋ค์ด๋ ํธ URI ๋ฑ๋กํ๊ธฐ


๋ฆฌ๋ค์ด๋ ํธ URI๋ ์ ์ ๊ฒ๊ณผ ๋ค๋ฅด๊ฒ ์ค์ ํด๋ ๋ฌด๊ดํ๋ค. ๋ค๋ง ์์๋ฅผ ๋ณด๊ณ /oauth๋ฅผ ์ ์ด์ค์ผํ๋ค.
- ์นด์นด์ค ๋ก๊ทธ์ธ - ๋์ํญ๋ชฉ ๋๋ฅด๊ธฐ

- ๊ฐ์ธ์ ๋ณด - ๋๋ค์ - ํ์๋ก ์ค์


- ์นด์นด์ค ๋๋ฒจ๋กํผ์ค ๋์์ธ ๊ฐ์ด๋ ๋ค์ด๊ฐ๊ธฐ
- ์นด์นด์ค ๋๋ฒจ๋กํผ์ค ๋์์ธ ๊ฐ์ด๋
Kakao Developers
์นด์นด์ค API๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํด ๋ณด์ธ์. ์นด์นด์ค ๋ก๊ทธ์ธ, ๋ฉ์์ง ๋ณด๋ด๊ธฐ, ์น๊ตฌ API, ์ธ๊ณต์ง๋ฅ API ๋ฑ์ ์ ๊ณตํฉ๋๋ค.
developers.kakao.com
- ์นด์นด์ค ์ฑํฌ ๋ก๊ทธ์ธ ๋ฒํผ ๋ฆฌ์์ค ๋ค์ด๋ก๋ ๋ค์ด๊ฐ๊ธฐ

- ์ํ๋ ํ์ ์ผ๋ก ์ค์ ํ ๋ค์ด๋ก๋ ๋๋ฅด๊ธฐ
