How to fix : Require at least one aggregateby - google fitness api?

347 Views Asked by At

there related but without response: How to fix Error: Require at least one aggregateby? - fitness api

const fitness = google.fitness({ version: 'v1', auth });

  fitness.users.dataset.aggregate(
    {
      aggregateBy: [
        {
          dataSourceId:
            'derived:com.google.step_count.delta:com.google.android.gms:estimated_steps'
        }
      ],
      bucketByTime: {
        durationMillis: 86400000
      },
      userId: 'me',
      startTimeMillis: 1584891702214,
      endTimeMillis: 1584978102214
    },
    (err, res, aa) => {
      if (err) return console.log('The API returned an error: ' + err);
      console.log(res.data);
      const events = res.data.items;
      resolve(events);
    }
  );

and got

The API returned an error: Error: Require at least one aggregateby

How I can repair that?

1

There are 1 best solutions below

0
On

solved:

https://github.com/googleapis/google-api-nodejs-client/issues/1749

correct version:

fitness.users.dataset.aggregate(
    {
      userId: 'me',
      resource: {
        aggregateBy: [
          {
            dataSourceId:
              'derived:com.google.step_count.delta:com.google.android.gms:estimated_steps'
          }
        ],
        bucketByTime: {
          durationMillis: 86400000
        },
        startTimeMillis: 1584891702214,
        endTimeMillis: 1584978102214
      }
    },
    (err, res, aa) => {
      if (err) return console.log('The API returned an error: ' + err);
      console.log(res.data);
      const events = res.data.items;
      resolve(events);
    }
  );