-
-
Save angelabauer/dd71d7072626afd728e1730584c6e4b8 to your computer and use it in GitHub Desktop.
import requests | |
GENDER = YOUR GENDER | |
WEIGHT_KG = YOUR WEIGHT | |
HEIGHT_CM = YOUR HEIGHT | |
AGE = YOUR AGE | |
APP_ID = YOUR APP ID | |
API_KEY = YOUR API KEY | |
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) |
I thought I wouldn't get a solution that's why deleted it.
Yeah a comment on a github gist might not reach a lot of people. In the course resources of lecture 3 is a link to the Discord server. You'll have a bigger chance of getting an answer there than on GitHub and it's a nice place to talk with other students. The Q&A on Udemy can be very helpful as well.
yes Sir... I agree with your suggestion. I'll soon become active there as well. Thanks. Have a great day.
I am getting the error : "Weight_kg" is not allowed . How it will resolve?
import requests
APP_ID = "0c13387f"
API_KEY = "9be3072c0d2e4981d2ed88d7cfdf0c36"
exercise_endpoint = "https://trackapi.nutritionix.com/v2/natural/exercise"
exercise_text = input("Tell me which exercise you did:")
GENDER = "male"
WEIGHT_KG = 56
HEIGHT_CM = 146
AGE = 24
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(url=exercise_endpoint,json=parameters,headers=headers)
result = response.json()
print(result)
"Weight_kg":WEIGHT_KG
@thakriti try it with a lower case w
So "weight_kg":WEIGHT_KG
instead of "Weight_kg":WEIGHT_KG
Using copy and paste, I have got this working, however I'm not learning anything doing this. Where in the documents are the API docs to highlight required parameters etc...
Using copy and paste, I have got this working, however I'm not learning anything doing this. Where in the documents are the API docs to highlight required parameters etc...
Searched the documentation for the term 'Natural Language for Exercise' and took me to the relevant page: https://docx.syndigo.com/developers/docs/natural-language-for-exercise
In the Header section it explains that parameters required there are: “x-app-id” and “x-app-key”
In the Parameters section, you need to click on 'Expand to see the parameters and description'. Turns out only the required parameter is 'query', weight, height and age aren't required so I didn't bother including them when first testing out the API.
thx for the valid docs, it is much easier knowing the real requirements and not do any revers engineering from the code of Angela. Unfortunately the doc link of the webpage is not working.
Tell me Which exercise you did: ran 3miles and walked 2km. {'message': 'child "query" fails because ["query" is required]', 'id': '95593e38-789e-4cee-8627-15d9193afdac'} This message i received anytime i ran this code , can any one explain it to me
I have the same issue, fix it by map the parameters with json, like json: parameters, but not params:parameters(which is used in requests.get method.
i have facing ht same issue please resolve the issue.
Tell me Which exercise you did: ran 3miles and walked 2km. {'message': 'child "query" fails because ["query" is required]', 'id': '95593e38-789e-4cee-8627-15d9193afdac'} This message i received anytime i ran this code , can any one explain it to me
I have the same issue, fix it by map the parameters with json, like json: parameters, but not params:parameters(which is used in requests.get method.
i have facing ht same issue please resolve the issue.
for requests.post() method you have to use json as the parameter
see here: https://www.w3schools.com/python/ref_requests_post.asp
Doesn't work for me, i keep getting {"message":"invalid app id/key","id":"39386a26-a250-446b-b58b-c2d38fd78932"} or a variation of the same invalid app id/key message
share your code
Everything was perfect. No errors for me.
I got mine working eventually - persistence and resilience :)
Here is my code below. I have put a few pointers in brackets in my code to highlight the areas were I was getting problems.
Hope this is of some help :)
import requests
exercise = input("Please tell us what exercise you have done?")
APP_ID = "xxxxxxxxx" (Make sure your APP_ID is submitted as a string)
APP_KEY = "xxxxxxxxxxxxxxxxxxxxxxxx " (Make sure the APP_KEY is a string and a carbon copy of what appears in your account, just take off the final -, but leave the dead space at the end)
API_ENDPOINT = "https://trackapi.nutritionix.com/v2/natural/exercise"
headers = {
"x-app-id": APP_ID,
"x-app-key": APP_KEY
}
parameters = {
"query": exercise,
"gender": "male", (Please note the gender is a string but the weight, height and age are all integer values)
"weight_kg": 56,
"height_cm": 120,
"age": 35
}
response = requests.post(API_ENDPOINT, headers= headers, json= parameters)
print(response)
result = response.json()
print(result)
"Weight Kg not allowed"
Check your endpoint.
It should be v2/natural/exercise
You have v2/natural/nutrients and for that endpoint Weight Kg is not a valid parameter.
That documentation is so hard to understand, couldn't find query parameters for some reason.
That documentation is so hard to understand, couldn't find query parameters for some reason.
It's there it's just tucked under and expand menu which was not the easiest to find.
@swati666
Yeah a comment on a github gist might not reach a lot of people.
In the course resources of lecture 3 is a link to the Discord server. You'll have a bigger chance of getting an answer there than on GitHub and it's a nice place to talk with other students. The Q&A on Udemy can be very helpful as well.