Gestione delle origini dati

L'API REST per l'attività fisica consente di creare, ottenere e aggiornare le origini dati. Un'origine dati rappresenta una sorgente unica di dati dei sensori. Puoi utilizzare le origini dati per inserire i dati sull'attività fisica nel fitness store e recuperare i dati sull'attività fisica inseriti da una determinata origine dati.

Le origini dati sono rappresentate dalla risorsa Users.dataSources.

Creare un'origine dati

Questo esempio mostra come creare una nuova origine dati denominata "MyDataSource" che fornisce incrementi del conteggio dei passaggi.

Metodo HTTP
POST
URL richiesta
https://www.googleapis.com/fitness/v1/users/me/dataSources
Corpo della richiesta
{
  "dataStreamName": "MyDataSource",
  "type": "derived",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "Foo Example App",
    "version": "1"
  },
  "dataType": {
    "field": [
      {
        "name": "steps",
        "format": "integer"
      }
    ],
    "name": "com.google.step_count.delta"
  },
  "device": {
    "manufacturer": "Example Manufacturer",
    "model": "ExampleTablet",
    "type": "tablet",
    "uid": "1000001",
    "version": "1.0"
  }
}

Risposta

Se l'origine dati viene creata correttamente, la risposta è un codice di stato 200 OK. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati, inclusa una proprietà datasource.dataStreamId che puoi utilizzare come ID origine dati per richieste successive.

Comando Curl
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X POST \
--header "Content-Type: application/json;encoding=utf-8" -d @createds.json \
"https://www.googleapis.com/fitness/v1/users/me/dataSources"

Recuperare una determinata origine dati

Questo esempio mostra come recuperare l'origine dati ("MyDataSource") creata nell'esempio precedente. Quando crei una nuova origine dati, il parametro dataStreamId include un identificatore univoco (indicato come "1234567890" in questi esempi). Questo è il numero del tuo progetto sviluppatore, che sarà uguale per tutte le richieste effettuate utilizzando quello specifico account sviluppatore. Assicurati di utilizzare dataStreamId dell'origine dati che hai creato.

Metodo HTTP
GET
URL richiesta
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Corpo della richiesta
Nessuno
Risposta
Se l'origine dati esiste, la risposta è un codice di stato 200 OK. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati.
Comando Curl
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X GET 
--header "Content-Type: application/json;encoding=utf-8"
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"

Recuperare dati aggregati

Questo esempio mostra come eseguire query su un'origine dati specifica per ottenere dati aggregati, in questo caso estimated_steps, che è l'origine dati utilizzata per mostrare il conteggio dei passaggi nell'app Google Fit. Tieni presente che i timestamp nel corpo della richiesta JSON sono in millisecondi.

Metodo HTTP
POST
URL richiesta
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
Corpo della richiesta
{
  "aggregateBy": [{
    "dataSourceId":
      "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
  }],
  "bucketByTime": { "durationMillis": 86400000 },
  "startTimeMillis": 1454284800000,
  "endTimeMillis": 1455062400000
}

Risposta

Se le origini dati esistono, la risposta è un codice di stato 200 OK. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati.

Comando Curl
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X POST \
--header "Content-Type: application/json;encoding=utf-8" -d @aggregate.json \
"https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate"

Aggiornare un'origine dati

Questo esempio mostra come aggiornare il nome e la versione del dispositivo per un'origine dati.

Metodo HTTP
PUT
URL richiesta
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Corpo della richiesta
{
  "dataStreamId": "derived:com.google.step_count.delta:1234567890:Example Manufacturer:ExampleTablet:1000001:MyDataSource",
  "dataStreamName": "MyDataSource",
  "type": "derived",
  "application": {
    "detailsUrl": "http://example.com",
    "name": "Foo Example App",
    "version": "1"
  },
  "dataType": {
    "field": [
      {
        "name": "steps",
        "format": "integer"
      }
    ],
    "name": "com.google.step_count.delta"
  },
  "device": {
    "manufacturer": "Example Manufacturer",
    "model": "ExampleTablet",
    "type": "tablet",
    "uid": "1000001",
    "version": "2.0"
  }
}

Risposta

Se l'origine dati viene aggiornata correttamente, la risposta è un codice di stato 200 OK. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati.

Comando Curl
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X PUT \
--header "Content-Type: application/json;encoding=utf-8" -d @updateds.json \
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"

Eliminare un'origine dati

Questo esempio mostra come eliminare un'origine dati.

Metodo HTTP
ELIMINA
URL richiesta
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Corpo della richiesta
Nessuno
Risposta
Se l'origine dati viene eliminata correttamente, la risposta è un codice di stato 200 OK. Il corpo della risposta contiene una rappresentazione JSON dell'origine dati che è stata eliminata.
Comando Curl
$ curl --header "Authorization: Bearer ya29.yourtokenvalue" -X DELETE \
--header "Content-Type: application/json;encoding=utf-8" \
"https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource"