如何获取每周 Google 健身休息 API 数据

How to get weekly Google Fit Rest API data

我正在尝试使用他们的 documentation 之后的 REST Api 从 Google Fit 获取我的每周汇总步数,但点数据返回为空。我为访问令牌启用了读取位置和 activity 范围。我的代码:

import json
import requests

api_url = "https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate"

access_token = ""

headers = {
  "Authorization": "Bearer {}".format(access_token),
  "Content-Type": "application/json;encoding=utf-8"
  }

body = {
  "aggregateBy": [{
    "dataTypeName": "com.google.step_count.delta",
    "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
  }],
  "bucketByTime": { "durationMillis": 86400000 },
  "startTimeMillis": 1438705622000,
  "endTimeMillis": 1439310422000
}


response = requests.post(api_url, data=json.dumps(body), headers=headers)

print(response.text)
  "aggregateBy": [{
    "dataTypeName": "com.google.step_count.delta",
    "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
  }],

你的aggregateBy同时指定了数据类型名称和数据源id;后者优先,因此如果 estimated_steps 流包含服务器上的数据,这将仅 return 数据。

我建议删除 dataSourceId,然后将使用 step_count.delta 的默认数据源。