๋ง์ ๊ฐ๋ฐ์๋ค์ด ๋ค์ด๋ฒ์ ๋ค์ํ ๊ธฐ๋ฅ์ ์น ์๋น์ค๋ ์ฑ์ ์ง์ ์ฐ๊ฒฐํด ์ฌ์ฉํฉ๋๋ค.
๊ทธ ํต์ฌ์ด ๋ฐ๋ก ๋ค์ด๋ฒ ์คํ API์ ๋๋ค.
๋ค์ด๋ฒ ์คํ API๋ ์ธ๋ถ ๊ฐ๋ฐ์์๊ฒ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ, ๊ฒ์ ๋ฐ์ดํฐ, ์บ๋ฆฐ๋, ๋ฒ์ญ, ๋ฐ์ดํฐ๋ฉ ๋ฑ์ ์ ๊ณตํ์ฌ,
์๋น์ค ํ์ฅ๊ณผ ์๋ํ, ๋ฐ์ดํฐ ๋ถ์์ ํ์ฉํ ์ ์๋ ์ ์ฉํ ๋๊ตฌ์
๋๋ค.
✅ ๋ค์ด๋ฒ ์คํ API๋?
-
๋ค์ด๋ฒ๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ์ธ๋ถ ๊ฐ๋ฐ์๊ฐ API ํํ๋ก ์ฌ์ฉํ ์ ์๊ฒ ๊ณต๊ฐํ ์ธํฐํ์ด์ค
-
์น ์์ฒญ(HTTP) ๋๋ SDK ํํ๋ก ๊ฐ๋จํ ํธ์ถ ๊ฐ๋ฅ
-
๋ก๊ทธ์ธ ๊ธฐ๋ฐ API์ ๋น๋ก๊ทธ์ธ ๊ธฐ๋ฐ API ๋ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ์ ๊ณต
๐ ์ฆ, ๋ค์ด๋ฒ ํ๋ซํผ์ ๋จ์ํ ์ฌ์ฉํ๋ ๊ฒ์ ๋์ด, ๋ด ์๋น์ค์ ํตํฉํ ์ ์๋ ์ด์ ๋ผ๊ณ ํ ์ ์์ต๋๋ค.
๐ ๋ค์ด๋ฒ ์คํ API ๋ฐฉ์ ๊ตฌ๋ถ
1. ๋ก๊ทธ์ธ ๋ฐฉ์ ์คํ API (OAuth ์ธ์ฆ ๊ธฐ๋ฐ)
-
๋ค์ด๋ฒ ๋ก๊ทธ์ธ API๋ฅผ ํตํด Access Token์ ๋ฐ๊ธ๋ฐ์ ์ฌ์ฉ
-
์ฃผ์ ๊ธฐ๋ฅ
-
ํ์ ๊ธฐ๋ณธ ์ ๋ณด ์กฐํ
-
๋ค์ด๋ฒ ์นดํ ๊ธ์ฐ๊ธฐ, ๊ฐ์
-
๋ค์ด๋ฒ ์บ๋ฆฐ๋ ์ผ์ ๋ฑ๋ก
-
์์ ์์ฒญ:
-
์ธ์ฆ:
https://nid.naver.com/oauth2.0/authorize
-
ํ ํฐ ๋ฐ๊ธ:
https://nid.naver.com/oauth2.0/token
-
ํ๋กํ ์กฐํ:
https://openapi.naver.com/v1/nid/me
2. ๋น๋ก๊ทธ์ธ ๋ฐฉ์ ์คํ API (Client ID & Secret ๊ธฐ๋ฐ)
-
๋ณ๋์ ์ฌ์ฉ์ ์ธ์ฆ ์ ์ฐจ ์์ด, HTTP ํค๋์ Client ID์ Secret ๊ฐ๋ง ์ถ๊ฐ
-
๋ํ ๊ธฐ๋ฅ
-
๊ฒ์ API (๋ธ๋ก๊ทธ, ๋ด์ค, ์ด๋ฏธ์ง, ์ง์iN)
-
๋ฐ์ดํฐ๋ฉ API (๊ฒ์ ํธ๋ ๋, ์ผํ ์ธ์ฌ์ดํธ)
-
๋ฒ์ญ API, ์์ฑ·์ด๋ฏธ์ง ์บก์ฐจ, ์ผ๊ตด ์ธ์ ๋ฑ
-
๐ ๋น ๋ฅด๊ณ ๋จ์ํ๊ฒ ๊ธฐ๋ฅ์ ๋ถ์ผ ์ ์์ด ๋ฐ์ดํฐ ๋ถ์·์๋ํ ์๋น์ค์ ํนํ ์ ๋ฆฌํฉ๋๋ค.
๐ ํ์ฉ ์์ (Python: ๊ฒ์ API)
import urllib.request, urllib.parse
client_id = "YOUR_CLIENT_ID"
client_secret = "YOUR_CLIENT_SECRET"
encText = urllib.parse.quote("ํ์ด์ฌ")
url = "https://openapi.naver.com/v1/search/blog?query=" + encText
request = urllib.request.Request(url)
request.add_header("X-Naver-Client-Id", client_id)
request.add_header("X-Naver-Client-Secret", client_secret)
response = urllib.request.urlopen(request)
print(response.read().decode('utf-8'))
์ ์์ ๋ “ํ์ด์ฌ”์ด๋ผ๋ ํค์๋๋ก ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋ ์ฝ๋์
๋๋ค.
๐ ๋ช ์ค๋ง์ผ๋ก ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์์งํ ์ ์๋ค๋ ์ ์ด ํฐ ์ฅ์ ์
๋๋ค.
๐ ๋ก๊ทธ์ธ ๋ฐฉ์ vs ๋น๋ก๊ทธ์ธ ๋ฐฉ์ ๋น๊ต
๊ตฌ๋ถ | ๋ก๊ทธ์ธ ๋ฐฉ์ ์คํ API | ๋น๋ก๊ทธ์ธ ๋ฐฉ์ ์คํ API |
---|---|---|
์ธ์ฆ | OAuth (Access Token ํ์) | Client ID & Secret ํค๋ ํฌํจ |
๊ธฐ๋ฅ | ๊ฐ์ธ์ ๋ณด ๊ธฐ๋ฐ ๊ธฐ๋ฅ (ํ์ ์ ๋ณด, ์นดํ, ์บ๋ฆฐ๋ ๋ฑ) | ๊ฒ์, ๋ฒ์ญ, ๋ฐ์ดํฐ๋ฉ, ์บก์ฐจ ๋ฑ |
์ฅ์ | ๋ง์ถคํ·๊ฐ์ธํ ์๋น์ค ๊ตฌํ | ๋จ์·๋น ๋ฅธ ๋ฐ์ดํฐ ํ์ฉ ๊ฐ๋ฅ |
๐ ๋ค์ด๋ฒ ์คํ API ํ์ฉ ์ฅ์
-
✔️ ๋ค์ํ ๋ฐ์ดํฐ ์ ๊ทผ: ๊ฒ์·๋ด์ค·์ผํ ํธ๋ ๋ ๋ฑ ๋ฐฉ๋ํ ๋ฐ์ดํฐ ์ ๊ณต
-
✔️ ๊ฐ๋ฐ ํจ์จ์ฑ: ๋ก๊ทธ์ธ/๋น๋ก๊ทธ์ธ API ์ ํ์ ํ์ฉ์ผ๋ก ๋น ๋ฅธ ๊ตฌํ
-
✔️ ์๋น์ค ํ์ฅ์ฑ: ๋ด ์๋น์ค์ ๋ค์ด๋ฒ ํ๋ซํผ์ ์ ๋ชฉ ๊ฐ๋ฅ
-
✔️ ์๋ํ·๋ฐ์ดํฐ ๋ถ์์ ์ต์ ํ
✅ ๊ฒฐ๋ก
๋ค์ด๋ฒ ์คํ API๋ ๋จ์ํ ๋ถ๊ฐ ๊ธฐ๋ฅ์ด ์๋๋ผ,
๊ฒ์ ํธ๋ ๋ ๋ถ์ → ๊ฐ์ธ ๋ง์ถค ์๋น์ค → ์๋ํ ์ฝํ
์ธ ์ ์๊น์ง ๊ฐ๋ฅํ๊ฒ ํ๋ ํ๋ซํผ ํ์ฅ ๋๊ตฌ์
๋๋ค.
-
๋ก๊ทธ์ธ API: ์ฌ์ฉ์ ์ธ์ฆ·๊ฐ์ธํ ์๋น์ค์ ์ ํฉ
-
๋น๋ก๊ทธ์ธ API: ๋ฐ์ดํฐ ์์ง·๋ถ์·์๋ํ์ ์ต์
๐ ๋ธ๋ก๊ทธ ์ด์์, ๊ฐ๋ฐ์, ๋ฐ์ดํฐ ๋ถ์๊ฐ ๋ชจ๋์๊ฒ ์ค์ง์ ์ธ ๋์์ด ๋ ์ ์๋ API๋ผ๊ณ ํ ์ ์์ต๋๋ค.
0 ๋๊ธ