2016-12-19 31 views
2

내 응용 프로그램에서 "Get Daily Activity Summary"API 호출을 할 때 사용자의 Fitbit 데이터를 가져 오기 위해 API 호출을하고 있습니다. 빈 활동 배열.Fitbit "일일 활동 요약 가져 오기"API 호출이 비어있는 "activities"배열을 얻습니다.

이 API 호출에서 모든 것이 표시되고 activity 배열이 비어있는 것으로 나타납니다. 다음은 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 
    } 
} 
+0

: []'. 그게 비어있는 이유입니다. API를 호출하는 중에 문제가 발생할 수 있습니다. – Saadi

+0

그것이 내가 말하는 @Saadi입니다. API 호출을 만들고 난 후에 빈 activites 배열을 얻고 있습니다. 모든 것이 적절하게 "activity"배열의 값을 얻지 못하고 있습니다. – NewbieCoder

+0

web api에서 통화/문제에 문제가 있습니다. 나는 그것을 판단 할 수 없다. – Saadi

답변

1

두 가지 방법으로 활동을 기록 할 수 있습니다.

  1. fitbit 포털 (https://www.fitbit.com/)에 로그인하여 수동으로 하나의 활동을 기록하십시오.
  2. 응용 프로그램 (안드로이드 또는 아이폰)으로 fitbit 장치를 동기화하십시오.

첫 번째 사례에서는 활동을 기록한 해당 날짜를 요청할 때 액티비티 모음을 받게됩니다.

당신이 12월 18일을위한 활동을 로그인 한 가정 요청 URL 2016

: 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 portal에서 해당 데이터를 확인할 수 있습니다. 그것은 활동 기록으로 기록 될 것입니다.

하지만 요약 섹션이 표시됩니다. 유용한 정보를 찾을 수있는 곳. 단계와 마찬가지로, 칼로리는 불에 타지 않으므로 항상 활동 수집 대신 요약 섹션을 사용하십시오.

귀하의 경우, 어떤 활동 컬렉션이든 이 표시되지 않는 활동은 기록되지 않았습니다. 액티비티 모음 외에도 가져 오는 데이터는 해당 날짜의 활동이없는 경우에도 가져 오는 기본 데이터입니다.

+0

내 iPhone에서 Fitbit 응용 프로그램을 사용 중이고 모바일 동기화가되어 있으므로 활동을 기록 할 필요가 없습니다. 내 C# 응용 프로그램에서 나는 "활동 가져 오기"및 응답에서 "활동"의 빈 배열을 가져 오는 API 호출을 만들고 있습니다. 난 당신이 이해 바랍니다. – NewbieCoder

+0

디바이스를 통해 동기화 된 데이터의 경우 "비어있는 활동"이 표시됩니다. 장치를 통해 기록 된 데이터는 걷기, 달리기 등과 같은 특정 활동으로 기록되지 않습니다. 따라서 우리는 "활동"모음을 얻지 못합니다. 단계, 칼로리, 거리 등의 정보를 얻기 위해 요약 객체를 사용해야합니다. – Manav

+0

Thanks @ Manav. 당신의 도움을 주셔서 감사합니다. 이것에 대한 언급이 있습니까? – NewbieCoder

0

이 시도 :

그것은 자신의 웹 사이트에 핏 비트 디스플레이와 같은 활동 목록을 제공합니다.

https://api.fitbit.com/1/user/ {핏 비트 유저 ID} /activities/list.json?beforeDate=2017-09-29 & 종류 = DESC & 오프셋 = 0 & 제한 = 귀하의 JSON이 비어` "활동"을 가진 20