-
Notifications
You must be signed in to change notification settings - Fork 0
/
featch_data.py
58 lines (50 loc) · 2.46 KB
/
featch_data.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import fitbit
import gather_keys_oauth2 as Oauth2
import pandas as pd
import datetime
CLIENT_ID = '22CPDQ'
CLIENT_SECRET = '56662aa8bf31823e4137dfbf48a1b5f1'
server = Oauth2.OAuth2Server(CLIENT_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'])
auth2_client = fitbit.Fitbit(CLIENT_ID, CLIENT_SECRET, oauth2=True, access_token=ACCESS_TOKEN, refresh_token=REFRESH_TOKEN)
yesterday = str((datetime.datetime.now() - datetime.timedelta(days=1)).strftime("%Y%m%d"))
yesterday2 = str((datetime.datetime.now() - datetime.timedelta(days=1)).strftime("%Y-%m-%d"))
today = str(datetime.datetime.now().strftime("%Y%m%d"))
fit_statsHR = auth2_client.intraday_time_series('activities/heart', base_date=yesterday2, detail_level='1sec')
time_list = []
val_list = []
for i in fit_statsHR['activities-heart-intraday']['dataset']:
val_list.append(i['value'])
time_list.append(i['time'])
heartdf = pd.DataFrame({'Heart Rate':val_list,'Time':time_list})
heartdf.to_csv('./python-fitbit-master/Heart/heart'+ \
yesterday+'.csv', \
columns=['Time','Heart Rate'], header=True, \
index = False)
fit_statsSl = auth2_client.sleep(date='today')
stime_list = []
sval_list = []
for i in fit_statsSl['sleep'][0]['minuteData']:
stime_list.append(i['dateTime'])
sval_list.append(i['value'])
sleepdf = pd.DataFrame({'State':sval_list,
'Time':stime_list})
sleepdf['Interpreted'] = sleepdf['State'].map({'2':'Awake','3':'Very Awake','1':'Asleep'})
sleepdf.to_csv('./python-fitbit-master/Sleep/sleep' + \
today+'.csv', \
columns = ['Time','State','Interpreted'],header=True,
index = False)
fit_statsSum = auth2_client.sleep(date='today')['sleep'][0]
ssummarydf = pd.DataFrame({'Date':fit_statsSum['dateOfSleep'],
'MainSleep':fit_statsSum['isMainSleep'],
'Efficiency':fit_statsSum['efficiency'],
'Duration':fit_statsSum['duration'],
'Minutes Asleep':fit_statsSum['minutesAsleep'],
'Minutes Awake':fit_statsSum['minutesAwake'],
'Awakenings':fit_statsSum['awakeCount'],
'Restless Count':fit_statsSum['restlessCount'],
'Restless Duration':fit_statsSum['restlessDuration'],
'Time in Bed':fit_statsSum['timeInBed']
} ,index=[0])