布団の中にいたい

Elasticsearchいじったり、Androidアプリ書いたり。最近は数学の勉強が楽しくなってきました。

fitbitを買ったので体重をSlackに投稿するやつを作った

つい先日、fitbit flex2を買いました。今までfitbitの初期型のものを持っていたのですが、なくしてしまったのでその代わりです。睡眠に関するデータが取れるらしいので色々期待しています。

Fitbit Flex 2™ フィットネス用リストバンド

まだ買ったばかりで睡眠データとか無いので、今回はさっくりfitbitのapiを叩いて、体重をslackに投稿するやつを作ってみました。

github.com

fitbitのapiを叩くためにpython-fitbitを、slackのincoming webhookを叩くために、requestsを使っています。

github.com

体重を取得しているコードは以下

def getDailyWeight():               
    # fitbit用のclientを作成                                                                                                            
    authd_client = fitbit.Fitbit(                                                                                                                             
        config.CLIENT_ID,                                                                                                                                     
        config.CLIENT_SECRET,                                                                                                                                 
        access_token=config.ACCESS_TOKEN,                                                                                                                     
        refresh_token=config.REFRESH_TOKEN,                                                                                                                   
        system=""                                                                                                                                             
    )                                                                                                                                                         
                                           
    # 昨日の体重を取得                                                                                                                   
    weight_data = authd_client.get_bodyweight(getYesterday())["weight"][0]                                                                                    
                                                                                                                                                              
    return (                                                                                                                                                  
        weight_data["date"],                                                                                                                                  
        weight_data["bmi"],                                                                                                                                   
        weight_data["weight"]                                                                                                                                 
    )                                       

まとめ

fitbitのapiを叩いて、slackに投稿するだけなら割と簡単にできました。本当はslackbotとか使って対話的にできるようにしたいんですが、特に取得したいデータもなかったのでこんな感じになっています。もう少しデータが集まったらbot化してみようかと思います。