Gestione delle origini dati

L'API Fitness REST ti consente di creare, ottenere e aggiornare le origini dati. Un'origine dati rappresenta una fonte univoca di dati dei sensori. Puoi utilizzare le origini dati per inserire dati relativi all'attività fisica nel negozio di fitness e puoi 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 di passi.

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 è stata creata, 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 le 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

In questo esempio viene illustrato come recuperare l'origine dati ("MyDataSource") che hai creato nell'esempio precedente. Quando crei una nuova origine dati, dataStreamId include un identificatore univoco (indicato come "1234567890" in questi esempi). Questo è il tuo numero di progetto sviluppatore e sarà lo stesso per tutte le richieste effettuate utilizzando quell'account sviluppatore specifico. Assicurati di utilizzare dataStreamId dall'origine dati che hai creato.

Metodo HTTP
SCARICA
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"

Recupero dati aggregati

Questo esempio mostra come eseguire una query su un'origine dati specifica per i 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, 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"