【问题标题】:Fitbit API unable to fetch data synced through Fitbit device i.e BlazeFitbit API 无法获取通过 Fitbit 设备同步的数据,即 Blaze
【发布时间】:2017-04-15 17:48:05
【问题描述】:

我正在尝试使用以下链接获取数据:- https://dev.fitbit.com/docs/activity/ 和 API:- GET https://api.fitbit.com/1/user/[user-id]/activities/date/[date].json 并获取如下响应数组

Array(
[result] => Array
    (
        [activities] => Array
            (
                [0] => Array
                    (
                        [activityId] => 90013
                        [activityParentId] => 90013
                        [activityParentName] => Walk
                        [calories] => 25
                        [description] => Walking less than 2 mph, strolling very slowly
                        [distance] => 0.271426
                        [duration] => 355000
                        [hasStartTime] => 1
                        [isFavorite] => 
                        [lastModified] => 2016-11-29T19:11:42.000Z
                        [logId] => 5007419020
                        [name] => Walk
                        [startDate] => 2016-11-30
                        [startTime] => 00:34
                        [steps] => 342
                    )

            )

        [goals] => Array
            (
                [activeMinutes] => 30
                [caloriesOut] => 2157
                [distance] => 8.05
                [floors] => 10
                [steps] => 10000
            )

        [summary] => Array
            (
                [activeScore] => -1
                [activityCalories] => 55
                [caloriesBMR] => 1257
                [caloriesOut] => 1300
                [distances] => Array
                    (
                        [0] => Array
                            (
                                [activity] => Walk
                                [distance] => 0.271426
                            )

                        [1] => Array
                            (
                                [activity] => total
                                [distance] => 0.48
                            )

                        [2] => Array
                            (
                                [activity] => tracker
                                [distance] => 0.42
                            )

                        [3] => Array
                            (
                                [activity] => loggedActivities
                                [distance] => 0.271426
                            )

                        [4] => Array
                            (
                                [activity] => veryActive
                                [distance] => 0.09
                            )

                        [5] => Array
                            (
                                [activity] => moderatelyActive
                                [distance] => 0.11
                            )

                        [6] => Array
                            (
                                [activity] => lightlyActive
                                [distance] => 0.16
                            )

                        [7] => Array
                            (
                                [activity] => sedentaryActive
                                [distance] => 0.12
                            )

                    )

                [elevation] => 0
                [fairlyActiveMinutes] => 5
                [floors] => 0
                [heartRateZones] => Array
                    (
                        [0] => Array
                            (
                                [caloriesOut] => 37.9099
                                [max] => 98
                                [min] => 30
                                [minutes] => 25
                                [name] => Out of Range
                            )

                        [1] => Array
                            (
                                [caloriesOut] => 33.193
                                [max] => 137
                                [min] => 98
                                [minutes] => 9
                                [name] => Fat Burn
                            )

                        [2] => Array
                            (
                                [caloriesOut] => 0
                                [max] => 166
                                [min] => 137
                                [minutes] => 0
                                [name] => Cardio
                            )

                        [3] => Array
                            (
                                [caloriesOut] => 0
                                [max] => 220
                                [min] => 166
                                [minutes] => 0
                                [name] => Peak
                            )

                    )

                [lightlyActiveMinutes] => 6
                [marginalCalories] => 33
                [sedentaryMinutes] => 1426
                [steps] => 789
                [veryActiveMinutes] => 3
            )

    )

[code] => 200
[content_type] => application/json;charset=UTF-8

)

但问题是这个数组只是为我提供了使用 Fitbit 应用程序完成的活动数据。但我必须通过 Fitbit 应用程序或 Fitbit 设备(即 blaze)获取完整数据。

【问题讨论】:

    标签: php api fitbit


    【解决方案1】:

    只看API,相信你需要使用activities/tracker/。 API 声明这仅代表跟踪器设备记录的每日活动值,不包括手动活动日志条目。因此,您只需将tracker 添加到您的GET

    跟踪活动:

    activities/tracker/calories  
    activities/tracker/steps  
    activities/tracker/distance  
    activities/tracker/floors  
    activities/tracker/elevation  
    activities/tracker/minutesSedentary  
    activities/tracker/minutesLightlyActive  
    activities/tracker/minutesFairlyActive  
    activities/tracker/minutesVeryActive  
    activities/tracker/activityCalories
    

    【讨论】:

    • Tracker 给了我们不同的响应,但我们需要在 key--> [Activity] 处获取的上述响应。我们仍然只获得应用同步的数据..但不是按设备。
    • 我认为您没有分配有此 ID 的跟踪器。根据 API。如果您使用GET https://api.fitbit.com/1/user/[user-id]/activities/date/[date].json 按日期指定活动,它将显示所有活动。无论是跟踪器(设备)还是应用程序。要按设备过滤结果,您需要指定键 ['tracker']。如果您查看dev.fitbit.com/docs/activity 的示例响应,您将在活动中看到 --> 摘要,它显示了应用程序输入和设备(跟踪器)。它还显示大于 0 的海拔值(跟踪器/设备值)。
    • 我们需要所有活动,无论是应用程序还是设备。问题是我们得到的只是应用同步的数据,而不是设备的数据。
    • 如前所述,我认为您没有分配有您正在使用的 ID 的设备,或者您的搜索日期需要扩大。您是否尝试过使用GET https://api.fitbit.com/1/user/[user-id]/activities.json 获取生命周期统计信息以查看设备信息是否正在显示。
    • 是的,我们也试过了,但仍然没有得到完整的数据。
    猜你喜欢
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    • 2016-09-01
    • 1970-01-01
    相关资源
    最近更新 更多