ClientSecret: "@FITBIT_CLIENT_SECRET@",
Endpoint: oauth2fitbit.Endpoint,
RedirectURL: "https://kraftakt.octo.it/fitbit/grant",
- Scopes: []string{"activity", "heartrate", "profile"},
+ Scopes: []string{
+ "activity",
+ "heartrate",
+ "profile",
+ "sleep",
+ },
}
const csrfToken = "@CSRFTOKEN@"
}
type Activity struct {
- ActivityID int `json:"activityId"`
- ActivityParentID int `json:"activityParentId"`
- Calories int `json:"calories"`
- Description string `json:"description"`
- Distance float64 `json:"distance"`
- Duration int `json:"duration"`
- HasStartTime bool `json:"hasStartTime"`
- IsFavorite bool `json:"isFavorite"`
- LogID int `json:"logId"`
- Name string `json:"name"`
- StartTime string `json:"startTime"`
- Steps int `json:"steps"`
+ ActivityID int `json:"activityId"`
+ ActivityParentID int `json:"activityParentId"`
+ ActivityParentName string `json:"activityParentName"`
+ Calories int `json:"calories"`
+ Description string `json:"description"`
+ Distance float64 `json:"distance"`
+ Duration int `json:"duration"`
+ HasStartTime bool `json:"hasStartTime"`
+ IsFavorite bool `json:"isFavorite"`
+ LastModified time.Time `json:"lastModified"`
+ LogID int `json:"logId"`
+ Name string `json:"name"`
+ StartTime string `json:"startTime"`
+ StartDate string `json:"startDate"`
+ Steps int `json:"steps"`
}
type Distance struct {
}, nil
}
-func (c *Client) ActivitySummary(ctx context.Context, t time.Time) (*ActivitySummary, error) {
+func (c *Client) ActivitySummary(ctx context.Context, date string) (*ActivitySummary, error) {
url := fmt.Sprintf("https://api.fitbit.com/1/user/%s/activities/date/%s.json",
- c.fitbitUserID, t.Format("2006-01-02"))
+ c.fitbitUserID, date)
res, err := c.client.Get(url)
if err != nil {