Fitbit“获取每日活动摘要”API调用获取空“活动”数组

时间:2016-12-19 10:23:32

标签: c# fitbit

在我的应用程序中,我正在进行API调用以获取用户的Fitbit数据,当我对“获取每日活动摘要”进行API调用时,我得到空活动数组。

我从这个API调用得到的所有内容只是活动数组以空[]形式出现。以下是API调用的示例响应。

{  
   "activities":[  

   ],
   "goals":{  
      "caloriesOut":2826,
      "distance":8.05,
      "floors":150,
      "steps":10000
   },
   "summary":{  
      "activityCalories":230,
      "caloriesBMR":1913,
      "caloriesOut":2143,
      "distances":[  
         {  
            "activity":"tracker",
            "distance":1.32
         },
         {  
            "activity":"loggedActivities",
            "distance":0
         },
         {  
            "activity":"total",
            "distance":1.32
         },
         {  
            "activity":"veryActive",
            "distance":0.51
         },
         {  
            "activity":"moderatelyActive",
            "distance":0.51
         },
         {  
            "activity":"lightlyActive",
            "distance":0.51
         },
         {  
            "activity":"sedentaryActive",
            "distance":0.51
         },
         {  
            "activity":"Treadmill, 0% Incline",
            "distance":3.28
         }
      ],
      "elevation":48.77,
      "fairlyActiveMinutes":0,
      "floors":16,
      "lightlyActiveMinutes":0,
      "marginalCalories":200,
      "sedentaryMinutes":1166,
      "steps":0,
      "veryActiveMinutes":0
   }
}

2 个答案:

答案 0 :(得分:1)

我们可以通过两种方式记录活动。

  1. 登录fitbit门户网站(https://www.fitbit.com/)并手动记录一项活动。
  2. 将您的fitbit设备与您的应用程序(Android或Iphone)同步。
  3. 在第一种情况下, 当您请求记录活动的那一天时,您将获得活动集合。

    假设您已记录2016年12月18日的活动。

    请求网址:https://api.fitbit.com/1/user/-/activities/date/2016-12-18.json

    回应:

    {
      "activities": [
        {
          "activityId": 12030,
          "activityParentId": 90009,
          "activityParentName": "Run",
          "calories": 530,
          "description": "Running - 5 mph (12 min/mile)",
          "distance": 1,
          "duration": 3600000,
          "hasStartTime": true,
          "isFavorite": false,
          "lastModified": "2016-12-19T12:07:51.124Z",
          "logId": 5218814487,
          "name": "Run",
          "startDate": "2016-12-18",
          "startTime": "06:00",
          "steps": 843
        }
      ],
      "goals": {
        "activeMinutes": 30,
        "caloriesOut": 2689,
        "distance": 8.05,
        "steps": 10000
      },
      "summary": {
        "activeScore": -1,
        "activityCalories": 1658,
        "caloriesBMR": 1588,
        "caloriesOut": 2927,
        "distances": [
          {
            "activity": "Run",
            "distance": 1
          },
          {
            "activity": "total",
            "distance": 7.42
          },
          {
            "activity": "tracker",
            "distance": 7.1
          },
          {
            "activity": "loggedActivities",
            "distance": 1
          },
          {
            "activity": "veryActive",
            "distance": 1.99
          },
          {
            "activity": "moderatelyActive",
            "distance": 0.03
          },
          {
            "activity": "lightlyActive",
            "distance": 5.41
          },
          {
            "activity": "sedentaryActive",
            "distance": 0
          }
        ],
        "fairlyActiveMinutes": 1,
        "lightlyActiveMinutes": 297,
        "marginalCalories": 961,
        "sedentaryMinutes": 108,
        "steps": 9982,
        "veryActiveMinutes": 74
      }
    }
    

    在第二种情况下,如果你有fitbit活动跟踪器,你将不会通过fitbit band获取数据记录的活动集合。您可以在fitbit门户中检查该数据。这将记录为活动记录。

    但是你会得到摘要部分。您将在哪里找到所需的有用信息。像步骤,卡路里燃烧等。所以总是使用摘要部分代替活动集合。

    在您的情况下,您没有记录任何活动,这就是您没有得到的原因 任何活动集合。除了活动收集之外,您获得的数据是我们即使当天没有活动也能获得的默认数据。

答案 1 :(得分:0)

试试这个:

它会在Fitbit在其网站上显示活动列表。

https://api.fitbit.com/1/user/ {fitbit用户ID} /activities/list.json?beforeDate=2017-09-29&sort=desc&offset=0&limit=20