Gestion des sources de données

L'API REST de remise en forme vous permet de créer, d'obtenir et de mettre à jour des sources de données. Une source de données représente une source unique de données de capteurs. Vous pouvez utiliser des sources de données pour insérer des données de fitness dans le magasin de remise en forme. Vous pouvez également récupérer des données de fitness insérées par une source de données particulière.

Les sources de données sont représentées par la ressource Users.dataSources.

Créer une source de données

Cet exemple montre comment créer une source de données nommée "MyDataSource" qui fournit des incréments de nombre de pas.

Méthode HTTP
POST
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataSources
Corps de la requête
{
  "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"
  }
}

Réponse

Si la source de données a bien été créée, la réponse est un code d'état 200 OK. Le corps de la réponse contient une représentation JSON de la source de données, y compris une propriété datasource.dataStreamId que vous pouvez utiliser comme ID de source de données pour les requêtes ultérieures.

Commande 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"

Obtenir une source de données spécifique

Cet exemple montre comment récupérer la source de données ("MyDataSource") que vous avez créée dans l'exemple précédent. Lorsque vous créez une source de données, dataStreamId inclut un identifiant unique (affiché "1234567890" dans ces exemples). Il s'agit de votre numéro de projet de développeur. Il sera identique pour toutes les requêtes effectuées à l'aide de ce compte de développeur particulier. Veillez à utiliser l'dataStreamId de la source de données que vous avez créée.

Méthode HTTP
GET
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Corps de la requête
Aucune
Réponse
Si la source de données existe, la réponse est un code d'état 200 OK. Le corps de la réponse contient une représentation JSON de la source de données.
Commande 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"

Obtenir des données globales

Cet exemple montre comment interroger une source de données spécifique pour obtenir des données agrégées, dans ce cas estimated_steps, qui est la source de données utilisée pour afficher le nombre de pas dans l'application Google Fit. Notez que les horodatages dans le corps de la requête JSON sont exprimés en millisecondes.

Méthode HTTP
POST
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
Corps de la requête
{
  "aggregateBy": [{
    "dataSourceId":
      "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
  }],
  "bucketByTime": { "durationMillis": 86400000 },
  "startTimeMillis": 1454284800000,
  "endTimeMillis": 1455062400000
}

Réponse

Si les sources de données existent, la réponse est un code d'état 200 OK. Le corps de la réponse contient une représentation JSON de la source de données.

Commande 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"

Mettre à jour une source de données

Cet exemple montre comment mettre à jour le nom et la version de l'appareil d'une source de données.

Méthode HTTP
PUT
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Corps de la requête
{
  "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"
  }
}

Réponse

Si la source de données a bien été mise à jour, la réponse est un code d'état 200 OK. Le corps de la réponse contient une représentation JSON de la source de données.

Commande 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"

Supprimer une source de données

Cet exemple montre comment supprimer une source de données.

Méthode HTTP
SUPPRIMER
Request URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Corps de la requête
Aucune
Réponse
Si la source de données a bien été supprimée, la réponse est un code d'état 200 OK. Le corps de la réponse contient une représentation JSON de la source de données supprimée.
Commande 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"