是否可以使用Python将活动写入我的Google Fit帐户?

问题描述

上下文:

有一个this应用,名为 Fit as ,它可以向您的Google Fit帐户添加活动,但看起来它是基于真实活动的,例如嘲笑GPS位置或设备加速度计。

还有一个this应用程序,名为 Step Me ,该应用程序还可以向您的Google Fit帐户添加活动,但它是即时的。该应用程序开发人员本身声称可以从现在到过去添加数据。 (我认为这可能是基于将数据添加到Google Fit的API或框架)。

我要搜索的内容:

一种添加数据的方法,例如 Step Me ,但使用Python。

我已经知道可以这样做:

this代码为例,可以从API获取数据,如下所示:

#! /usr/bin/env python
#-*- coding: utf-8 -*-

import json
import httplib2
from datetime import datetime
from apiclient.discovery import build
from oauth2client.client import OAuth2WebServerFlow

CLIENT_ID = 'XXXXXXXXXXXXXXXXXX.apps.googleusercontent.com'
CLIENT_SECRET = 'XXXXXXXXXXXXXXXXXXXXXXX'
OAUTH_SCOPE = 'https://www.googleapis.com/auth/fitness.activity.read'
DATA_SOURCE = "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
DATA_SET = "1051700038292387000-1451700038292387000"
REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob'

def retrieve_data():
    flow = OAuth2WebServerFlow(CLIENT_ID,CLIENT_SECRET,OAUTH_SCOPE,REDIRECT_URI)
    authorize_url = flow.step1_get_authorize_url()

    code = raw_input('Enter verification code: ').strip()
    credentials = flow.step2_exchange(code)

    http = httplib2.Http()
    http = credentials.authorize(http)

    fitness_service = build('fitness','v1',http=http)

    return fitness_service.users().dataSources(). \
              datasets(). \
              get(userId='me',dataSourceId=DATA_SOURCE,datasetId=DATA_SET). \
              execute()

def nanoseconds(nanotime):
    dt = datetime.fromtimestamp(nanotime // 1000000000)
    return dt.strftime('%Y-%m-%d %H:%M:%S')

if __name__ == "__main__":

    dataset = retrieve_data()
    with open('dataset.txt','w') as outfile:
        json.dump(dataset,outfile)

    last_point = dataset["point"][-1]
    print("Start time:",nanoseconds(int(last_point.get("startTimeNanos",0))))
    print("End time:",nanoseconds(int(last_point.get("endTimeNanos",0))))
    print("Data type:",last_point.get("dataTypeName",None))
    print("Steps:",last_point["value"][0].get("intVal",None))

是的,我可以在some中找到examples java,但是当我需要在python程序本身上使用它时,它没有帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...