2016-12-19 12 views
2

私のアプリケーションでは、APIコールを使って "Get Daily Activity Summary"を取得すると、ユーザーのFitbitデータを取得するAPI呼び出しを行っています空のアクティビティ配列。Fitbit "Get Daily Activity Summary" APIコールが空の "activities"配列を取得する

私はこの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 
    } 
} 
+0

あなたJSONは空 ' "活動" を有するされます:[] '。それが空になった理由です。 APIを呼び出す際に何か問題がある可能性があります。 – Saadi

+0

それは私が@Saadiと言っていることです。私は空のアクティビティ配列を取得しているAPI呼び出しを作成した後、すべてが正しく "アクティビティ"配列の値を取得していません。 – NewbieCoder

+0

web apiであなたのコール/問題に何か問題があります。私はそれを判断することはできません。 – Saadi

答えて

1

2つの方法でアクティビティを記録できます。

  1. fitbitポータル(https://www.fitbit.com/)にログインし、1つのアクティビティを手動でログに記録します。
  2. あなたのアプリケーション(アンドロイドまたはIphone)でfitbitデバイスを同期します。

最初のケースでは、 アクティビティを記録したその日にリクエストすると、アクティビティコレクションが取得されます。 https://api.fitbit.com/1/user/-/activities/date/2016-12-18.json

応答::あなたはfitbitアクティビティトラッカーを持っている第二のケースでは、

{ 
    "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 
    } 
} 

、あなたはないでしょう

あなたは12月18日2016年

リクエストURLのための活動を記録していると仮定しますデータを保存するためのアクティビティコレクションを取得します。あなたはfitbitポータルでそのデータをチェックすることができます。それは活動記録として記録されます。

しかし、要約セクションが表示されます。有益な情報が必要な箇所があります。ステップのように、カロリーは燃えたので、常にアクティビティコレクションの代わりにサマリーセクションを使用します。

場合によっては、アクティビティコレクションを にしていないアクティビティが記録されていません。アクティビティ収集以外に、取得したデータは、その日のアクティビティがない場合でも取得できるデフォルトのデータです。

+0

iPhoneでFitbitアプリケーションを使用していて、モバイルで同期しているため、アクティビティを記録する必要はありません。私のC#アプリケーションでは、私は単に "フェッチアクティビティ"へのAPI呼び出しを行い、それに応答して "アクティビティ"の空の配列を取得しています。ご理解頂けるとありがたいです。 – NewbieCoder

+0

デバイスを介して同期されたデータの場合、「空のアクティビティ」が発生します。デバイスを介して記録されたデータは、特定のアクティビティ、例えばウォーキング、ランニングなどとして記録されません。したがって、アクティビティコレクションは取得されません。我々はステップ、カロリー焼き、距離などの情報を取得するために要約オブジェクトを使用する必要があります – Manav

+0

ありがとう@Manav。あなたの助けに感謝。これは何か参考になりますか? – NewbieCoder

0

これを試してみてください:

それは彼らのウェブサイトでFitbitディスプレイなどの活動のリストが表示されます。

https://api.fitbit.com/1/user/ {fitbitユーザID} /activities/list.json?beforeDate=2017-09-29 &ソート= DESC &オフセット= 0 &限界= 20

関連する問題