Hi,
We are having a problem with Fitbit API, it is returing data different than what we see in Fitbit dashboard.
We used this fitbit account - renushankar@ymail.com
Attached is the logger data for fitbit data.
On fitbit site for the above account there are data for the month of september. But it sends 1 data from the current date,which was not actually added.
Best Answer
Fitbit Developers oversee the SDK and API forums. We're here to answer questions about Fitbit developer tools, assist with projects, and make sure your voice is heard by the development team.
You can request as far back as you want.
Best AnswerHello Ivan,
Can you please help clarify for me.. I am very confused about behavior I am seeing with fitbit api.
I am getting weight using time series and log apis for the same account, with the same date range, but the results are dramatically different.
TIME SERIES API REQUEST
https://api.fitbit.com/1/user/2QX3TF/body/weight/date/2014-06-17/2014-06-28.json
{"body-weight":[{"dateTime":"2014-06-17","value":"80.636"},{"dateTime":"2014-06-18","value":"80.173"},{"dateTime":"2014-06-19","value":"79.71"},{"dateTime":"2014-06-20","value":"79.247"},{"dateTime":"2014-06-21","value":"78.784"},{"dateTime":"2014-06-22","value":"78.321"},{"dateTime":"2014-06-23","value":"77.858"},{"dateTime":"2014-06-24","value":"77.395"},{"dateTime":"2014-06-25","value":"76.932"},{"dateTime":"2014-06-26","value":"76.469"},{"dateTime":"2014-06-27","value":"76.006"},{"dateTime":"2014-06-28","value":"75.543"}]}
LOG API REQUEST
https://api.fitbit.com/1/user/2QX3TF/body/log/weight/date/2014-06-17/2014-06-28.json
{"weight":[]}
How can you explain this ?
It seems the time series data is not correct.
Best AnswerI did the same exact test -- same account, same APIs, but this time from 9/10/14 to 9/30/14.
This time, both APIs worked. So the question is... why is the TIME SERIES API returning bogus data from June 17 to June 28 ???
Here is the 9/10 to 9/30 data:
TIME SERIES API REQUEST
https://api.fitbit.com/1/user/2QX3TF/body/weight/date/2014-09-10/2014-09-30.json
{"body-weight":[{"dateTime":"2014-09-10","value":"84.766"},{"dateTime":"2014-09-11","value":"84.968"},{"dateTime":"2014-09-12","value":"85.17"},{"dateTime":"2014-09-13","value":"85.372"},{"dateTime":"2014-09-14","value":"85.574"},{"dateTime":"2014-09-15","value":"85.776"},{"dateTime":"2014-09-16","value":"85.978"},{"dateTime":"2014-09-17","value":"86.183"},{"dateTime":"2014-09-18","value":"90.719"},{"dateTime":"2014-09-19","value":"90.719"},{"dateTime":"2014-09-20","value":"90.719"},{"dateTime":"2014-09-21","value":"90.719"},{"dateTime":"2014-09-22","value":"90.719"},{"dateTime":"2014-09-23","value":"90.719"},{"dateTime":"2014-09-24","value":"90.719"},{"dateTime":"2014-09-25","value":"90.719"},{"dateTime":"2014-09-26","value":"90.719"},{"dateTime":"2014-09-27","value":"90.719"},{"dateTime":"2014-09-28","value":"90.719"},{"dateTime":"2014-09-29","value":"90.719"},{"dateTime":"2014-09-30","value":"90.719"}]}
LOG API REQUEST
https://api.fitbit.com/1/user/2QX3TF/body/log/weight/date/2014-09-10/2014-09-30.json
{"weight":[{"bmi":33.62,"date":"2014-09-17","logId":1410998399000,"time":"23:59:59","weight":86.1},{"bmi":35.39,"date":"2014-09-18","logId":1411084799000,"time":"23:59:59","weight":90.7}]}
Best Answer
Fitbit Developers oversee the SDK and API forums. We're here to answer questions about Fitbit developer tools, assist with projects, and make sure your voice is heard by the development team.
Khaled,
the rule for time series is:
It returns a list of datapoints for the last X days with gaps filled in via averaging. For example if between day 1 (value = 5) and day 4 (value = 20), days 2 and 3 were missing day 2 would be filled in with the value of 10 and day 3 with the value of 15. Each side of the returned array is padded if the data begins before the start date or ends before startDate - numDays. For example if 7 days of data are requested and there is only data starting 5 days ago, then a list of 7 values will be returned. The last five values will be the same as the value 5 days ago.
Best AnswerIvan,
1) This is different from what you answered on 11/11 08:31.
The thing is that you're calling TimeSeries endpoint that supose to auto-fill the weight with the latest weights that user posted if there is not weight logged for particular date.
2) Also, your response does not explain how to the time-series API returning data from June 2014 when data is only available starting in September.
3) What you said does not even apply to the data I sent you. If you observe, you will notice that the values sent starting in June are always changing and they go down, then they go up.
{
"body-weight": [
{ "dateTime": "2014-06-22", "value": "82.177" },
{"dateTime": "2014-06-23","value": "81.955"},
{"dateTime": "2014-06-24","value": "81.733"},
{"dateTime": "2014-06-25","value": "81.511"},
{"dateTime": "2014-06-26","value": "81.289"},
{"dateTime": "2014-06-27","value": "81.067"},
{"dateTime": "2014-06-28","value": "80.845"},
....
{"dateTime": "2014-07-22","value": "75.517"},
{"dateTime": "2014-07-23","value": "75.295"},
{"dateTime": "2014-07-24","value": "75.07"},
{"dateTime": "2014-07-25","value": "75.272"},
{"dateTime": "2014-07-26","value": "75.474"},
{"dateTime": "2014-07-27","value": "75.676"},
Thanks
Best Answer
Ivan,
Thanks for your help on this.
I noticed that there are data points in June, which clarifies my questions.
Thanks,
John
Best Answer