Administrar fuentes de datos

La API de REST de Fitness te permite crear, obtener y actualizar fuentes de datos. Una fuente de datos representa una fuente única de datos de sensores. Usas fuentes de datos para insertar datos de entrenamiento en la tienda y puedes recuperar datos de entrenamiento insertados por una fuente de datos en particular.

Las fuentes de datos se representan con el recurso Users.dataSources.

Crea una fuente de datos

En este ejemplo, se muestra cómo crear una nueva fuente de datos llamada "MyDataSource" que proporciona incrementos de recuento de pasos.

Método HTTP
PUBLICAR
Solicitar URL
https://www.googleapis.com/fitness/v1/users/me/dataSources
Cuerpo de la solicitud
{
  "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"
  }
}

Respuesta

Si la fuente de datos se crea de forma correcta, la respuesta es un código de estado 200 OK. El cuerpo de la respuesta contiene una representación JSON de la fuente de datos, incluida una propiedad datasource.dataStreamId que puedes usar como ID de fuente de datos para solicitudes posteriores.

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"

Obtener una fuente de datos específica

En este ejemplo, se muestra cómo recuperar la fuente de datos ("MyDataSource") que creaste en el ejemplo anterior. Cuando creas una fuente de datos nueva, la dataStreamId incluye un identificador único (que se muestra como “1234567890”) en estos ejemplos. Este es el número de tu proyecto de desarrollador y será el mismo para todas las solicitudes que se realicen con esa cuenta de desarrollador en particular. Asegúrate de usar el dataStreamId de la fuente de datos que creaste.

Método HTTP
OBTENER
Solicitar URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Cuerpo de la solicitud
Ninguna
Respuesta
Si la fuente de datos existe, la respuesta es un código de estado 200 OK. El cuerpo de la respuesta contiene una representación JSON de la fuente de datos.
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"

Obtener datos agregados

En este ejemplo, se muestra cómo consultar una fuente de datos específica para datos agregados, en este caso estimated_steps, que es la fuente de datos que se usa a fin de mostrar el recuento de pasos en la app de Google Fit. Ten en cuenta que las marcas de tiempo en el cuerpo de la solicitud JSON están en milisegundos.

Método HTTP
PUBLICAR
Solicitar URL
https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate
Cuerpo de la solicitud
{
  "aggregateBy": [{
    "dataSourceId":
      "derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
  }],
  "bucketByTime": { "durationMillis": 86400000 },
  "startTimeMillis": 1454284800000,
  "endTimeMillis": 1455062400000
}

Respuesta

Si las fuentes de datos existen, la respuesta es un código de estado 200 OK. El cuerpo de la respuesta contiene una representación JSON de la fuente de datos.

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"

Actualizar una fuente de datos

En este ejemplo, se muestra cómo actualizar el nombre y la versión del dispositivo para una fuente de datos.

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

Respuesta

Si la fuente de datos se actualiza de forma correcta, la respuesta es un código de estado 200 OK. El cuerpo de la respuesta contiene una representación JSON de la fuente de datos.

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"

Borrar una fuente de datos

En este ejemplo, se muestra cómo borrar una fuente de datos.

Método HTTP
BORRAR
Solicitar URL
https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:1234567890:Example%20Manufacturer:ExampleTablet:1000001:MyDataSource
Cuerpo de la solicitud
Ninguna
Respuesta
Si la fuente de datos se borra correctamente, la respuesta es un código de estado 200 OK. El cuerpo de la respuesta contiene una representación JSON de la fuente de datos que se borró.
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"