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 propiedaddatasource.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"