"errors": [ { "detail": "Cannot read property '0' of undefined" how do I get to solve?

38 Views Asked by At

This is the source code is below. with this below I am trying to update my spreadsheet


   import requests
   from datetime import datetime
   APP_ID = "mycode"
   API_KEY = "mykey"
   exercise_text = input("Tell me which exercises you did: ")
   
   
   GENDER = "Male"   
   WEIGHT_KG= "68"
   HEIGHT_CM = "168"
   AGE = "36"
   exercise_endpoint = "https://trackapi.nutritionix.com/v2/natural/exercise"
   sheety_endpoint = "https://api.sheety.co/*******/nutritionIx/sheet1"
   
   nutrition_web_config = {
    "query": exercise_text,
    "gender": GENDER,
    "weight_kg": WEIGHT_KG,
    "height_cm": HEIGHT_CM,
    "age": AGE}
   nutrition_headers = {
    'x-app-id':APP_ID,
    'x-app-key': API_KEY,
    'Content-Type': 'application/json',
            }


   exercise_response = requests.post(url=exercise_endpoint, json=nutrition_web_config, headers=nutrition_headers, )

   print(exercise_response.raise_for_status())
   print(exercise_response.text)
   print(exercise_response.json())
   ################### Start of Step 4 Solution ######################

   bearer_headers = {
   "Authorization": "Bearer ot"
   }
   sheety_result = exercise_response.json()
   today_date = datetime.now().strftime("%d/%m/%Y")
   now_time = datetime.now().strftime("%X")
   
   for exercise in sheety_result["exercises"]:
       sheet_inputs = {
           "sheet1": {
               "date": today_date,
               "time": now_time,
               "exercise": exercise["name"].title(),
               "duration": exercise["duration_min"],
               "calories": exercise["nf_calories"]
           }
          }
       sheet_response = requests.post(sheety_endpoint, json=sheet_inputs, headers=bearer_headers)
       print(sheet_response.text)

I am trying to link and update my google spreadsheet however output is not what I expected Output:

Tell me which exercises you did: run 20minutes
None
{"exercises":[{"tag_id":317,"user_input":"run","duration_min":20,"met":9.8,"nf_calories":222.13,"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":null,"benefits":null}]}
{'exercises': [{'tag_id': 317, 'user_input': 'run', 'duration_min': 20, 'met': 9.8, 'nf_calories': 222.13, '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}]}
{
 "errors": [
    {
      "detail": "Cannot read property '0' of undefined"
    }
  ]
}

how is this possible way to solve this kind of problem? expected output is not what i expected

0

There are 0 best solutions below