我一直在使用Fitbit Python package来分析我的数据。当我查看我的运动数据时,它似乎运作得很好:
fitbit_stats = authd_client._COLLECTION_RESOURCE('activities', date='2015-09-16')
但是,当我尝试获取心率数据时,它会运行,但不会返回除0以外的任何内容:
fitbit_stats = authd_client._COLLECTION_RESOURCE('heart', date='2015-09-16')
print fitbit_stats
{'heart':[],'average':[{'tracker':'Resting Heart Rate', 'heartRate':0},{'tracker':'正常心率','heartRate':0}, {'tracker':'Exertive Heart Rate','heartRate':0}]}
有谁知道我为什么不在这里返回任何数据?
答案 0 :(得分:5)
以下内容可行,但我不确定这是您要找的内容
fitbit_stats = authd_client._COLLECTION_RESOURCE('activities/heart', date='2016-08-11')
print fitbit_stats
我猜你想要日内约会(像我一样)
根据https://dev.fitbit.com/docs/heart-rate/#get-heart-rate-intraday-time-series
访问日内时间序列供个人使用(访问您的 自己的数据)可通过“个人”应用程序类型获得。
目前正在访问所有其他用途的当日时间序列 根据具体情况授予。 ...
我在fitbit api包中添加了一个自定义函数:
def get_heartrate_intraday(self, date="today", end_date="1d", detail_level="1sec", user_id=None):
uri = "{0}/{1}/user/-/activities/heart/date/{date}/{end_date}/{detail_level}.json"
date = self._get_date_string(date)
end_date = self._get_date_string(end_date)
url = uri.format(
*self._get_common_args(user_id=user_id),
date=date,
end_date=end_date,
detail_level=detail_level
)
return self.make_request(url)
这将返回的数据如下:
'activities-heart-intraday': {
'dataset': [
{'time': '00:00:00', 'value': 66},
{'time': '00:00:10', 'value': 67},
{'time': '00:00:25', 'value': 67},
{'time': '00:00:40', 'value': 67},
{'time': '23:57:40', 'value': 84},
{'time': '23:58:40', 'value': 85},
{'time': '23:58:50', 'value': 80}
],
'datasetInterval': 1,
'datasetType': 'second'
}