Google FIT Rest API Получить автоматические треки - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь получить через Google Fit REST API автоматические треки, хранящиеся в Google Fit, на моем мобильном телефоне Android. (например: велосипедная сессия, дата начала, продолжительность, вид деятельности велосипед, ходьба ...)

Я просто попробовал сеансовый API :

GET /fitness/v1/users/me/sessions?startTime=2018-11-09T00:00:00.00Z&endTime=2018-11-09T23:59:59.99Z HTTP/1.1

но я не получаю результата:

HTTP/1.1 200 OK
Content-length: 42
X-xss-protection: 1; mode=block
Content-location: https://www.googleapis.com/fitness/v1/users/me/sessions?startTime=2018-11-09T00:00:00.00Z&endTime=2018-11-09T23:59:59.99Z
X-content-type-options: nosniff
Transfer-encoding: chunked
Expires: Fri, 09 Nov 2018 20:50:48 GMT
Vary: Origin, X-Origin
Server: GSE
Etag: "977qOFam2oE2uMtwc7J4i3egnsw/vyGp6PvFo4RvsFtPoIWeCReyIC8"
Cache-control: private, max-age=0, must-revalidate, no-transform
Date: Fri, 09 Nov 2018 20:50:48 GMT
X-frame-options: SAMEORIGIN
Alt-svc: quic=":443"; ma=2592000; v="44,43,39,35"
Content-type: application/json; charset=UTF-8
-content-encoding: gzip
{
  "deletedSession": [], 
  "session": []
}

Я также пытался выполнить агрегат :

POST /fitness/v1/users/me/dataset:aggregate HTTP/1.1
Host: www.googleapis.com
Content-length: 281
Content-type: application/json
Authorization: Bearer XXXXXX
{
  "aggregateBy": [
    {
            "dataSourceId": "derived:com.google.activity.segment:com.google.android.gms:merge_activity_segments"

    }
  ],
  "bucketByActivityType": { "durationMillis": 86400000 }, 
  "startTimeMillis": 1541621627000,
  "endTimeMillis": 1541797627000
}

Я получил результат, но я не нашел способа расшифровать его!

{
  "bucket": [
    {
      "activity": 1, 
      "dataset": [
        {
          "dataSourceId": "derived:com.google.activity.summary:com.google.android.gms:aggregated", 
          "point": [
            {
              "startTimeNanos": "1541662372620000000", 
              "originDataSourceId": "derived:com.google.activity.segment:com.google.android.gms:merge_activity_segments", 
              "endTimeNanos": "1541778156173000000", 
              "value": [
                {
                  "mapVal": [], 
                  "intVal": 1
                }, 
                {
                  "mapVal": [], 
                  "intVal": 6216497
                }, 
                {
                  "mapVal": [], 
                  "intVal": 6
                }
              ], 
              "dataTypeName": "com.google.activity.summary"
            }
          ]
        }
      ]
    }, 
    {
      "activity": 3, 
      "dataset": [
        {
          "dataSourceId": "derived:com.google.activity.summary:com.google.android.gms:aggregated", 
          "point": [
            {
              "startTimeNanos": "1541621627000000000", 
              "originDataSourceId": "derived:com.google.activity.segment:com.google.android.gms:merge_activity_segments", 
              "endTimeNanos": "1541796648562000000", 
              "value": [
                {
                  "mapVal": [], 
                  "intVal": 3
                }, 
                {
                  "mapVal": [], 
                  "intVal": 163981252
                }, 
                {
                  "mapVal": [], 
                  "intVal": 11
                }
              ], 
              "dataTypeName": "com.google.activity.summary"
            }
          ]
        }
      ]
    }, 
    {
      "activity": 7, 
      "dataset": [
        {
          "dataSourceId": "derived:com.google.activity.summary:com.google.android.gms:aggregated", 
          "point": [
            {
              "startTimeNanos": "1541667650063000000", 
              "originDataSourceId": "derived:com.google.activity.segment:com.google.android.gms:merge_activity_segments", 
              "endTimeNanos": "1541779218129000000", 
              "value": [
                {
                  "mapVal": [], 
                  "intVal": 7
                }, 
                {
                  "mapVal": [], 
                  "intVal": 3443813
                }, 
                {
                  "mapVal": [], 
                  "intVal": 13
                }
              ], 
              "dataTypeName": "com.google.activity.summary"
            }
          ]
        }
      ]
    }, 
    {
      "activity": 58, 
      "dataset": [
        {
          "dataSourceId": "derived:com.google.activity.summary:com.google.android.gms:aggregated", 
          "point": [
            {
              "startTimeNanos": "1541792220000000000", 
              "originDataSourceId": "derived:com.google.activity.segment:com.google.android.gms:merge_activity_segments", 
              "endTimeNanos": "1541793600000000000", 
              "value": [
                {
                  "mapVal": [], 
                  "intVal": 58
                }, 
                {
                  "mapVal": [], 
                  "intVal": 1380000
                }, 
                {
                  "mapVal": [], 
                  "intVal": 1
                }
              ], 
              "dataTypeName": "com.google.activity.summary"
            }
          ]
        }
      ]
    }
  ]
}

Я ищу любое предложение, кажется странным, что я не вижу ни одного варианта использования на портале Google Dev. На этом этапе я не видел упоминаний о невозможности или невозможности реализации этого варианта использования.

...