2015-09-17 69 views
4

檢索Fitbit心臟率數據來分析我的數據。當我看到我的鍛鍊數據似乎工作得很好:與Python

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},{ '跟蹤': '發揮地心率', '心率':0}]}

有誰知道我爲什麼不在這裏返回任何數據?

+1

FWIW,我懷疑這是一個錯誤。我在dev.fitbit.com上註冊,克隆了最新的python-fitbit回購,收集了我的OAuth2證書,創建了一個fitbit.Fitbit實例,其中包含oauth2 = True,並且可以收集我測試過的除心率以外的​​所有內容。我沒有進一步挖掘,但能夠使用API​​測試器獲取數據:https://www.connect2.me/fitbit/fitbit-heart – radicalbiscuit

回答

3

下面的工作,但我不知道這是你在找什麼

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' 
}