1週間ぶんのHRを取得する
計測したデータはすべてクラウド上に上がっているので、1週間ぶんのデータを取得することも可能です。おおまかな手順は下記の動画をご覧ください。
下記スクリプトは、指定した日付から遡って3日ぶんのHRを取得するスクリプトです。
#getWeekHR.py
import sys
import fitbit
import gather_keys_oauth2 as Oauth2
from datetime import datetime, date, timedelta
print('Hello FitbitAPP4')
USER_ID = ""; CLIENT_SECRET = ""
def requestFitbit(DATE):
rval=""
global auth2_client,USER_ID
fitbit_stats = auth2_client.intraday_time_series('activities/heart', DATE, detail_level='1min')
HRstats = fitbit_stats['activities-heart-intraday']['dataset']
OUTPUT_FILE = USER_ID+"_HR.csv"
csv_file = open(OUTPUT_FILE, 'a')
csv_file.write(DATE+",")
for num1 in range(24):
for num2 in range(60):
key='{:02}'.format(num1)+':{:02}'.format(num2)+':00'
hr=""
for var in range(0, len(HRstats)):
if str(HRstats[var]['time']) == key:
hr=str(HRstats[var]['value'])
break
csv_file.write(hr)
csv_file.write(",")
csv_file.write("\n")
csv_file.close()
return rval
##################################################
def writeindex():
global USER_ID
OUTPUT_FILE = USER_ID+"_HR.csv"
csv_file = open(OUTPUT_FILE, 'a')
csv_file.write(",")
for num1 in range(24):
for num2 in range(60):
key='{:02}'.format(num1)+':{:02}'.format(num2)+':00'
csv_file.write(key)
csv_file.write(",")
csv_file.write("\n")
csv_file.close()
##################################################
"""Get tokens"""
server = Oauth2.OAuth2Server(USER_ID, CLIENT_SECRET)
server.browser_authorize()
ACCESS_TOKEN = str(server.fitbit.client.session.token['access_token'])
REFRESH_TOKEN = str(server.fitbit.client.session.token['refresh_token'])
"""Authorization"""
auth2_client = fitbit.Fitbit(USER_ID, CLIENT_SECRET, oauth2=True, access_token=ACCESS_TOKEN, refresh_token=REFRESH_TOKEN)
"""request"""
writeindex()
today=date(2023, 6, 26)
for var in range(0, 3):
stamp=datetime.strftime(today - timedelta(days=var), '%Y-%m-%d')
print("target: " + stamp)
requestFitbit(stamp)
無事に実行されると、「ID_HR.csv」のようなファイル名のデータが作成されます。エクセルで開くと、下記のような構造になっています。60(分)✕24(時間)=1440個のデータが3日ぶん格納されていることがわかります。
無事に実行されると、「ID_HR.csv」のようなファイル名のデータが作成されます。エクセルで開くと、下記のような構造になっています。60(分)✕24(時間)=1440個のデータが3日ぶん格納されていることがわかります。
無事に実行されると、「ID_HR.csv」のようなファイル名のデータが作成されます。エクセルで開くと、下記のような構造になっています。60(分)✕24(時間)=1440個のデータが3日ぶん格納されていることがわかります。