Почему Google Fit не возвращает все веса? - PullRequest
0 голосов
/ 13 июня 2019

Я использую приложение для Android, которое извлекает вес (а) пользователя для заданного промежутка времени. Пользователь может вручную синхронизировать его для данного дня, и он будет использовать мм / дд / гггг 00:00:00 и мм / дд / гггг 23: 59: 59: 999. В большинстве случаев это работает правильно, однако у меня есть рабочий процесс, который, кажется, нарушает его. У меня есть шкала Wi-Fi, на которой я буду взвешиваться, а затем синхронизирую эти веса с 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": [
     ]
    }
   ]
  }
 ]
}

Я ожидаю, что вес будет указан в списке, так как существует вес для этого свойства startTimeMillis (1560402000000 миллисекунд, начиная с эпохи четверга, 13 июня, 12:00 по местному времени) в моем приложении Google Fit . Дата для указанного веса - четверг, 13 июня, 12:00, однако API Explorer ничего не возвратил.

...