Данные о непоследовательных шагах от Google Fit - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь прочитать данные шагов из Google Fit. Я успешно получаю результат, но у меня есть 2 проблемы.

REST API: https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate

{
  "aggregateBy": [{
    "dataTypeName": "com.google.step_count.delta",
    "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
  }],
  "bucketByTime": { "durationMillis": 86400000 },
  "startTimeMillis": 1575158400 // Sunday, December 1, 2019 12:00:00 AM
  "endTimeMillis": 1580515199 // Friday, January 31, 2020 11:59:59 PM 
}

ВЫПУСК 1 Несмотря на то, что общее количество шагов соответствует, в случайном порядке меняет записи отдельных шагов.

например: Как только я получил
Индивидуальные шаги: 4043, 3999, 1809, 32, 4419, 6, 17, 1226, 3447, 3470 Всего шагов: 22468

Тот же вызов API, но другой результат:

Отдельные шаги: 3652, 391, 3906, 1902, 4451, 6, 17, 1226, 3337, 3391, 189 Всего шагов: 22468

Каждый раз, когда я получаю, я получаю небольшие различия в шагах и отметках времени. Общее количество шагов остается тем же, но отдельные записи шагов не согласованы.

ВЫПУСК 2:

Даже когда я получаю точные шаги, startTimeMillis, endTimeMillis startTimeNanos endTimeNanos для этих отдельных записей не соответствует

1-й ответ:

{
   "startTimeMillis": "1578435789540",
   "endTimeMillis": "1578522189540",
   "dataset": [
    {
     "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated",
     "point": [
      {
       "startTimeNanos": "1578436252758000000",
       "endTimeNanos": "1578436362872632842",
       "dataTypeName": "com.google.step_count.delta",
       "originDataSourceId": "raw:com.google.step_count.cumulative:samsung:SM-G955U:c291ebf86e0c18db:Step Counter",
       "value": [
        {
         "intVal": 189,
         "mapVal": []
        }
       ]
      }
     ]
    }

2-й ответ

{
      "startTimeMillis": "1578433221048",
      "endTimeMillis": "1578519621048",
      "dataset": [
        {
          "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated",
          "point": [
            {
              "startTimeNanos": "1578436252758000000",
              "endTimeNanos": "1578436362872632842",
              "dataTypeName": "com.google.step_count.delta",
              "originDataSourceId": "raw:com.google.step_count.cumulative:samsung:SM-G955U:c291ebf86e0c18db:Step Counter",
              "value": [
                {
                  "intVal": 189,
                  "mapVal": []
                }
              ]
            }
          ]
        }

3-й ответ

{
   "startTimeMillis": "1578434700773",
   "endTimeMillis": "1578521100773",
   "dataset": [
    {
     "dataSourceId": "derived:com.google.step_count.delta:com.google.android.gms:aggregated",
     "point": [
      {
       "startTimeNanos": "1578436252758000000",
       "endTimeNanos": "1578436362872632842",
       "dataTypeName": "com.google.step_count.delta",
       "originDataSourceId": "raw:com.google.step_count.cumulative:samsung:SM-G955U:c291ebf86e0c18db:Step Counter",
       "value": [
        {
         "intVal": 189,
         "mapVal": []
        }
       ]
      }
     ]
    }

Я делаю что-то не так, может кто-нибудь подсказать, что я могу сделать? Я хочу сохранить данные о шагах в приложении и нуждаюсь в последовательных шагах и времени без дубликатов.

...