如何通过 Fitness REST API 从 google 健身商店获取每日步数和活动卡路里

How to get daily step count and active calories from google fitness store via Fitness REST API

我正在使用 nodejs 和 Google 的官方 "googleapis" 模块。我无法从任何数据源获取任何值字段。

var count = 0;
               async.eachSeries(dataSources, function (source, nextSource) {
                   count++;
                   console.log(count, source.dataStreamId);
                   console.log('------------------------------------------------------------------------------------------------------------------------------');
                   fitness.users.dataSources.datasets.get({
                       dataSourceId: encodeURI(source.dataStreamId),
                       datasetId: new Date('2016-01-01').getTime() + '-' + new Date().getTime(),
                       userId: "me"
                   }, function (err, data) {
                       if (err) {
                           console.log(err);
                           return nextSource(err);
                       }
                       console.log("Data Set");
                       console.log(data);
                       nextSource(null);
                   });
               }, function nextSource(err) {
                   if (err) {
                       return nextTask(err);
                   }
                   nextTask(null, 'OK')
               });

我得到的回复是这样的:

{ minStartTimeNs: '1451606400000',
  maxEndTimeNs: '1455532058239',
  dataSourceId:   
  'derived:com.google.step_count.delta:com.google.android.gms:estimated_steps' 
}

我遇到了同样的问题,但找到了解决方案。

"minStartTimeNs: '1451606400000', maxEndTimeNs: '1455532058239'"

它们的格式不正确,api 需要 NANOSECOND 的纪元时间(19 个数字),因此需要 1451606400000000000 和 1455532058239000000