๋ฐ์ํ
Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- streamlit
- RESTful API
- ์น๋์๋ณด๋ ์ ์
- db
- ์๋ฐ๊ณต๋ถ
- Matplotlib ๊ธฐ์ด
- ์๋ฐ์คํฌ๋ฆฝํธ ๊ณต๋ถ
- ์๋ฐ
- ์๋๋ก์ด๋ ์คํ๋์ค
- ํ๋ค์ค๊ณต๋ถ
- ์คํธ๋ฆผ๋ฆฟ
- ์๋ฐ์ด๋ณด
- MySQL
- ์๋ฐํ๋ก๊ทธ๋๋ฐ
- JavaScript
- Streamlit๊ธฐ์ด
- ํ์ด์ฌ๊ณต๋ถ
- ์๋๋ก์ด๋ ์ฑ ๊ฐ๋ฐ
- Android
- Streamlit๊ธฐ๋ณธ
- ์น๋์๋ณด๋ ๊ธฐ์ด
- java
- Pandas
- ์คํธ๋ฆผ๋ฆฟ ๊ธฐ๋ณธ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- serverless
- ํ๋ค์ค
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์๋ฐ๊ธฐ์ด
- ํ์ด์ฌ
Archives
- Today
- Total
ruriruriya
[Open API] Naver - ๋ค์ด๋ฒ ํํ๊ณ ๋ฒ์ญ API ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ(Feat. RestFul Flask) ๋ณธ๋ฌธ
๐ Open API/Naver
[Open API] Naver - ๋ค์ด๋ฒ ํํ๊ณ ๋ฒ์ญ API ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ(Feat. RestFul Flask)
๋ฃจ๋ฆฌ์ผใ 2024. 2. 15. 10:00๋ฐ์ํ
๋ค์ด๋ฒ ๊ฐ๋ฐ API ์ด์ฉ์ ์ฒญ์ ํด์ ํด๋ผ์ด์ธํธ ID์ ์ํฌ๋ฆฟ ํค๋ฅผ ๋ฐ์๋ค.
์ด์ ๋ฒ์ญ๊ธฐ๋ฅผ ์ฌ์ฉํด๋ณด์.
์๋๋ ์ด์ฉ์ ์ฒญํ๋ ๋ฐฉ๋ฒ์ด๋ค.
https://ruriruriya.tistory.com/191
1. RestFul API (Flask)
ํ์ด์ฌ์ผ๋ก ์ค์ ์ ํด๋ณด์.
- app.py
#flask ํ๋ ์์ํฌ๋ฅผ ์ด์ฉํ, Restful API ์๋ฒ ๊ฐ๋ฐ
from flask import Flask
from flask_jwt_extended import JWTManager
from flask_restful import Api
from config import Config
from resources.naver import ChineseResource, NewsResource
# ๊ธฐ๋ณธ ๊ตฌ์กฐ
app = Flask(__name__)
# ํ๊ฒฝ๋ณ์ ์ธํ
app.config.from_object(Config)
api = Api(app)
api.add_resource(ChineseResource,'/chinese')
if __name__=='__main__':
app.run()
- resources ํจํค์ง > naver.py
class ChineseResource(Resource) :
def post(self) :
data = request.get_json()
# ํด๋ผ์ด์ธํธ๊ฐ ์
๋ ฅํ body์ json ๊ฐ์ ธ์ค๊ธฐ
# ๋ค์ด๋ฒ์ ํํ๊ณ API๋ฅผ ํธ์ถํ์ฌ
# ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์จ๋ค.
# ํํ๊ณ API์ ๋ฌธ์๋ฅผ ๋ณด๊ณ ,
# ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด์ผ ํ๋์ง ํ์
ํ์ฌ
# requests์ get, post, put, delete ๋ฑ์
# ํจ์๋ฅผ ์ด์ฉํ์ฌ ํธ์ถํ๋ฉด ๋๋ค.
req_data = {
"source":"ko",
"target":"zh-CN",
"text":data['sentence']
}
req_header ={
"X-Naver-Client-Id":"7V89Lh5rHWswlUoe6D6B",
"X-Naver-Client-Secret":"9l22vo6_9b"
}
response = requests.post('https://openapi.naver.com/v1/papago/n2mt',
req_data,
headers=req_header)
# ๋ค์ s ๋ถ์ ๊ฒ์ผ๋ก ์์ request๋ flask ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
# ๋ฐ์ดํฐ๋ฅผ ํํ๊ณ ์๋ฒ๋ก ๋ถํฐ ๋ฐ์์์ผ๋,
# ์ฐ๋ฆฌ๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ง ๋ฝ์๋ด๋ฉด ๋๋ค.
print(response)
# ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฝ๊ธฐ ์ํด์๋
# ๋ฐ์์จ ๋ฐ์ดํฐ๋ฅผ ๋ค์ json์ผ๋ก ์ ์ฅ โ
โ
โ
โ
โ
response = response.json()
print()
print(response)
chinese = response['message']['result']['translatedText']
return {"result" : "success",
"chinese": chinese}, 200
2. ํฌ์คํธ๋งจ์ผ๋ก ์์ฒญ
ํฌ์คํธ๋งจ์ ์ฌ์ฉํด์ ํ๊ตญ์ด๋ฅผ ์ ์กํ๋ฉด
์ค๊ตญ์ด ๋ฒ์ญ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฐ์์ค๋ ์ง ํ
์คํธ ํด๋ณด์.
- Headers ์์ ํด๋ผ์ด์ธํธ ID์ ์ํฌ๋ฆฟ ํค๋ฅผ ์ ๋ ฅํ๋ค.
- Body์ ๋ฒ์ญํ ํ๊ตญ์ด ๋ฌธ์ฅ์ ์
๋ ฅํด์ ์์ฒญํ๋ฉด
JSON์ผ๋ก ์ค๊ตญ์ด๋ฅผ ์๋ตํด์ค๋ค!
๋ฐ์ํ
'๐ Open API > Naver' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Open API] Naver - ๋ค์ด๋ฒ ๊ฐ๋ฐ์์ผํฐ API ์ด์ฉ์ ์ฒญ ๋ฐ ์ดํ๋ฆฌ์ผ์ด์ ๋ฑ๋ก๋ฐฉ๋ฒ (1) | 2024.02.14 |
---|