【发布时间】:2020-03-31 06:39:14
【问题描述】:
我正在使用一个 android 应用程序来检索用户在给定时间范围内的体重。用户可以手动同步给定日期,它将使用 mm/dd/yyyy 00:00:00 和 mm/dd/yyyy 23:59:59:999。在大多数情况下,这可以正常工作,但是我有一个似乎破坏它的工作流程。我有一个 Wifi 秤,我会自己称重,然后我将这些重量同步到 MyFitnessPal。然后我将 MyFitnessPal 同步到 Google Fit。这种集成似乎有效,因为我的体重在 Google Fit 中正确显示。然而,MyFitnessPal 似乎只保存称重的日期而不是时间。当我在称重发生的同一天为此 Android 应用程序运行手动同步过程时,它不会返回重量。
我尝试从 android 和 Google API Explorer 中获取数据。我可以通过更改 startTimeMillis 来获得过去的重量,但我无法获得当前日期的重量。就好像手机上的体重没有与 Google Fit 数据存储同步,但即使是这样,我也希望 android 应用能够检索体重。
Java 代码:
DataReadRequest.Builder()
.aggregate(DataType.TYPE_WEIGHT, DataType.AGGREGATE_WEIGHT_SUMMARY)
.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startMillis, endMillis, TimeUnit.MILLISECONDS)
.enableServerQueries()
.build()
API Explorer 调用:
{
"aggregateBy": [
{
"dataSourceId": "derived:com.google.weight:com.google.android.gms:merge_weight"
}
],
"endTimeMillis": "1560488399999",
"startTimeMillis": "1560402000000"
}
我从 API Explorer 得到的结果在这里:
{
"bucket": [
{
"startTimeMillis": "1560402000000",
"endTimeMillis": "1560488399999",
"dataset": [
{
"dataSourceId": "derived:com.google.weight:com.google.android.gms:merge_weight",
"point": [
]
}
]
}
]
}
我希望在我的Google Fit app 中列出一个权重,因为该 startTimeMillis(自纪元为当地时间 6 月 13 日星期四上午 12:00 以来的 1560402000000 毫秒)属性存在权重。列出的权重日期是 6 月 13 日星期四中午 12:00,但 API Explorer 没有返回任何内容。
【问题讨论】:
标签: android google-api google-fit google-apis-explorer