첫번째로 구글 스프레드시트에 아래와 같은 예시를 작성한다.
두번째로
뉴트리셔닉스에 접속하여 id와 key를 얻는다
https://developer.nutritionix.com/admin/applications/1409622572077
https://developer.nutritionix.com/login Welcome Login with your Github Account developer.nutritionix.com
뉴트리셔닉스 API문서를 살펴보고 간단한 운동을 프롬프트에 입력 시 운동 통계를 출력하는 방법을 알아보았다.
https://docs.google.com/document/d/1_q-K-ObMTZvO0qUEAxROrN3bwMujwAN25sLHwJzliK0/edit
import requests
nutrition_id = ""
nutrition_key = ""
exercise_endpoint = "<https://trackapi.nutritionix.com/v2/natural/exercise>"
headers = {
"x-app-id" : nutrition_id,
"x-app-key" : nutrition_key
}
body = {
"query" : input("어떤 운동을 하셨나요>"),
"gender" : "male",
"weight_kg" : "80",
"height_cm" : "178",
"age" : 29
}
response = requests.post(url=exercise_endpoint, json=body, headers=headers)
print(response.json())
# 결과
{'exercises': [{'tag_id': 317, 'user_input': 'ran', 'duration_min': 30.02, 'met': 9.8, 'nf_calories': 392.26, 'photo': {'highres': '<https://d2xdmhkmkbyw75.cloudfront.net/exercise/317_highres.jpg>', 'thumb': '<https://d2xdmhkmkbyw75.cloudfront.net/exercise/317_thumb.jpg>', 'is_user_uploaded': False}, 'compendium_code': 12050, 'name': 'running', 'description': None, 'benefits': None}]}
sheety를 이용하여 구글 시트에 데이터 저장하기
https://dashboard.sheety.co/new
today = datetime.now().strftime("%d/%m/%Y")
now_time = datetime.now().strftime("%X")
sheety_endpoint = "<https://api.sheety.co/84426ee090ea11c82b6b831ec2757947/exercise/workouts>"
sheety_body = {
"workout" : {
"date" : today,
"time" : now_time,
"exercise" : exercise_data["user_input"],
"duration" : exercise_data["duration_min"],
"calories" : exercise_data["nf_calories"]
}
}
sheety_response = requests.post(url=sheety_endpoint, json=sheety_body)
print(sheety_response.text)
보안을 강화하기
sheety에서 Basic타입을 선택 후 username과 password를 설정한다.
아래와같이 auth 파라미터에 전달해준다.
sheety_username = "id"
sheety_password = "pw"
sheety_response = requests.post(url=sheety_endpoint, json=sheety_body, auth=(sheety_username,sheety_password))
print(sheety_response.text)
구글 스프레드시트에 자동입력 된 것을 확인할 수 있다.