【问题标题】:Fitbit "Get Daily Activity Summary" API call gets empty "activities" arrayFitbit“获取每日活动摘要”API 调用获取空“活动”数组
【发布时间】:2017-05-04 09:03:26
【问题描述】:

在我的应用程序中,我正在调用 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
   }
}

【问题讨论】:

  • 您的 json 中有空的 "activities":[ ]。这就是它被清空的原因。调用 API 时您可能会遇到问题。
  • 这就是我要说的@Saadi。进行 API 调用后,我得到一个空的活动数组,一切正常,只是没有在“活动”数组中获取值。
  • 您在 web api 中的调用/问题有问题。我无法判断。

标签: c# fitbit


【解决方案1】:

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

  1. 登录 fitbit 门户 (https://www.fitbit.com/) 并手动记录一项活动。
  2. 将您的 fitbit 设备与您的应用程序(Android 或 Iphone)同步。

在第一种情况下, 当您请求记录活动的那一天时,您将获得活动集合。

假设您记录了 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 乐队。您可以在 fitbit 门户中查看该数据。这将被记录为活动记录。

但是你会得到摘要部分。您将在其中找到所需的有用信息。比如步数、卡路里消耗等。所以请始终使用摘要部分来代替活动收集。

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

【讨论】:

  • 我的 iPhone 中有 Fitbit 应用程序,并且已同步移动设备,因此我不需要记录活动。在我的 C# 应用程序中,我只是对“Fetch Activity”进行 API 调用,并得到空的“activity”数组作为响应。希望你能理解。
  • 对于通过设备同步的数据,我们将得到“空活动”。通过设备记录的数据不会记录为特定活动,例如步行、跑步等。因此,我们不会获得“活动”集合。我们应该使用摘要对象来获取步数、消耗的卡路里、距离等信息。
  • 感谢@Manav。感谢你的帮助。有这方面的参考吗?
  • 我在我的组织中将 fitbit 与我们的应用程序集成时验证了这一点。我们为此集成购买了一个设备。我们发现了上述行为,并且工作正常。
  • 好的,感谢 Manav 的帮助。
【解决方案2】:

试试这个:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    • 2011-11-11
    • 2018-06-12
    相关资源
    最近更新 更多