Estoy tratando de obtener mis datos de sueño de Google-Fit.
Cuando hago la siguiente solicitud:
const { data: sleepData } = await axios({ method: 'POST', url: 'https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate', headers: { Authorization: `Bearer ${accessToken}`, }, data: { aggregateBy: [{ dataTypeName: 'com.google.sleep.segment' }], bucketByTime: { durationMillis: 86400000 }, startTimeMillis: startTimeQuery, // day start time in UNIX endTimeMillis: endTimeQuery, // day end time in UNIX }, });Obtengo los siguientes datos con puntos vacíos:
{ "bucket": [ { "startTimeMillis": "1651115600000", "endTimeMillis": "1651202000000", "dataset": [ { "dataSourceId": "derived:com.google.sleep.segment:com.google.android.gms:merged", "point": [] } ] }, { "startTimeMillis": "1651202000000", "endTimeMillis": "1651288400000", "dataset": [ { "dataSourceId": "derived:com.google.sleep.segment:com.google.android.gms:merged", "point": [] } ] }, ]}¿Alguien se ha encontrado con problemas similares?
Estoy usando Google-Fit en un dispositivo Android.
Hola, aquí hay un ejemplo de trabajo de la API REST de Google Fitness con mi cuenta que está conectada a mi dispositivo de seguimiento del sueño.
var axios = require('axios'); var data = JSON.stringify({ "aggregateBy": [ { "dataTypeName": "com.google.sleep.segment" } ], "endTimeMillis": {endTimeMillis}, "startTimeMillis": {startTimeMillis} }); var config = { method: 'post', url: 'https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate', headers: { 'Authorization': 'Bearer {AccessToken}', 'Content-Type': 'application/json' }, data : data }; axios(config) .then(function (response) { console.log(JSON.stringify(response.data)); }) .catch(function (error) { console.log(error); });La única diferencia es eliminar el bucketByTime para que Fitness API envíe los puntos del segmento lo más pequeños posible.