Exercise Tracking with Python and Google Sheets
자연어 쿼리로 운동 통계 얻기
- 운동 통계를 출력하는 방법
- API key와 APP ID 하드코딩
import requests
GENDER = "female"
WEIGHT_KG = 50
HEIGHT_CM = 167
AGE = 18
APP_ID = "e5ea6ac6"
API_KEY = "0a21f7ee3806e916dbfc5d546ceaea6a"
exercise_endpoint = "https://trackapi.nutritionix.com/v2/natural/exercise"
exercise_text = input("Tell me which exercises you did: ")
headers = {
"x-app-id": APP_ID,
"x-app-key": API_KEY,
}
parameters = {
"query": exercise_text,
"gender": GENDER,
"weight_kg": WEIGHT_KG,
"height_cm": HEIGHT_CM,
"age": AGE
}
response = requests.post(exercise_endpoint, json=parameters, headers=headers)
result = response.json()
print(result)
Sheety로 구글시트 준비하기
- 구글계정으로 Sheety에 로그인, 프로젝트 생성
- API엔드포인트에 GET과 POST에 체크
구글시트에 데이터 저장하기
- Sheety API를 사용한 코드를 작성해서 뉴트리셔닉스API로 얻은 운동 데이터를 구글 시트의 신규행으로 추가하기
- 날짜 및 시간 열에는 파이썬 datetime모듈에서 가져온 현재 날짜 및 시간을 입력
- 파이썬의 .title()메소드를 사용해서 텍스트 제목으로 만들기
- strftime()메소드를 사용해서 datetime 객체의 형식으로 지정할 수 있음
Sheety API 인증하기
-
Sheety엔드포인트를 보호하기 위해 Basic인증이나 Bearer토큰 추가
-
Bearer 인증이란 : 보안 토큰을 포함하는 HTTP 인증 방식.
‘Bearer 인증’이라는 이름에서부터 ‘이 토큰을 나르는 사람에게 접근 권한을 부여한다’는 의미이다. 보안 토큰, 혹은 ‘bearer 토큰’은 암호화된 문자열이며 다음과 같은 예시를 들 수 있음 “AAAAAAAAAAAAAAAAAAAAAMLheAAAAAAA0%2BuSeid%2BULvsea4JtiGRiSDSJSI%3DEUifiRBkKG5E2XzMDjRfl76ZC9Ub0wnz4XsNiRVBChTYbJcE3F” 보안 토큰을 가진 사람은 누구나 스프레드시트에 접근할 수 있도록 허락된다는 개념이다. 브라우저나 모바일 앱과 같은 클라이언트가 Sheety 서버로 요청을 보낼 때, 인증 헤더에 이 보안 토큰을 넣어 보낸다.
- Basic인증 사용함