Open API
- Open API 사용 방법 (in Python)
- Python에서 REST API 데이터를 가져와야 할 경우가 있다.
- 이때, Request Package를 사용하여 데이터를 쉽게 가져올 수 있다.
- Open API 메커니즘
1. request 패키지를 설치해준다. (받을 데이터가 JSON 형식일 경우, json package도 함께 설치한다.)
pip install requests
pip install json
1-1. 이후 설치한 패키지를 import 해준다.
import requests
import json
2. GET Data
REST-GET 방식으로 불러올 경우 requests.get 을 사용하면 결과값을 변수로 받을 수 있다.
# 1. URL로만 DATA를 불러오는 경우
import requests
import json
# Request
requestData = requests.get('REST API URL')
# 2. header를 선언해줘야 하는 경우 (Token 사용으로 인한 Authorization 설정 등) headers에 headers 값을 Dict 형식으로 포함시켜주면 된다.
import requests
import json
# Setting Header
headerDict = {}
headerDict.setdefault('Authorization','TOKEN')
paramDict = {}
# Request
requestDataWithHeader = requests.get('REST API URL',headers=headerDict)
# 3. 전달해줘야 하는 Parameter가 있을 경우, params 항목을 추가시킨다.
import requests
import json
# Setting Header
headerDict = {}
headerDict.setdefault('Authorization','TOKEN')
paramDict = {}
# Setting Param
paramDict.setdefault('id','admin')
paramDict.setdefault('password','1234')
# Request
requestDataWithHeader = requests.get('REST API URL',headers=headerDict,params=paramDict)
2-1. POST Data
REST-GET 방식과 동일한 방식으로, requests.post 로 변경하기만 하면 된다.
import requests
import json
# Request
requestData = requests.post('REST API URL')
3. Return Data
request로 데이터를 받아온 후, status_code를 이용하여 연결 상태를 확인할 수 있다.
또한, status_code 외에 requests 에서 지원하는 변수를 이용해 비교 가능
# 1. status_code를 이용한 연결상태 확인
import requests
import json
# Request
requestData = requests.post('REST API URL')
if requestData.status_code == 200 :
print('Request OK')
# 2. 연결 상태는 정수형 뿐만 아니라, requests에서 지원하는 변수를 활용하여 비교할 수 있다.
import requests
import json
# Request
requestData = requests.post('REST API URL')
if requestData.status_code == requests.status_code.ok :
print('Request OK')
4. Json
request로 받은 데이터는 기본적으로 String Text 형식으로 출력된다. 해당 String을 Json 형식으로 변환하여 출력한다.
import requests
import json
# Request
requestData = requests.post('REST API URL')
jsonData = None
if requestData.status_code == requests.status_code.ok :
jsonData = requestData.json()
[참고 링크]
[Python] API 데이터 가져오기 (Requests)
Python Request Python에서 REST API 데이터를 가져와야 할 경우가 있다. 이때, Request Package를 사용하여 데이터를 쉽게 가져올 수 있다. Request 설치 request 패키지를 설치해준다. (받을 데이터가 JSON 형식일
nasn.tistory.com
'woncoding > TIL' 카테고리의 다른 글
| TIL | 2.15.수 [WSGI / ASGI] (0) | 2023.02.18 |
|---|---|
| TIL | 2.14.화 [Django ↔️ PostgreSQL] (0) | 2023.02.18 |
| TIL | 2.10.금 [CI/CD] (0) | 2023.02.13 |
| TIL | 2.9.목 [Django User Model vs DRF Custom User Model] (0) | 2023.02.09 |
| TIL | 2.8.수 [TDD | Test Code] (0) | 2023.02.09 |