public ApiSubscription AddSubscription(APICollectionType apiCollectionType, string uniqueSubscriptionId)
        {
            string subscriptionAPIEndpoint = null;
            //POST /1/user/-/apiSubscriptions/320.xml
            //POST /1/user/-/activities/apiSubscriptions/320-activities.xml
            //POST /1/user/-/foods/apiSubscriptions/320-foods.json
            //POST /1/user/-/sleep/apiSubscriptions/320-sleep.json
            //POST /1/user/-/body/apiSubscriptions/320-body.json
            if (apiCollectionType == APICollectionType.activities)
            {
                subscriptionAPIEndpoint = string.Format("/1/user/-/activities/apiSubscriptions/{0}-activities.xml", uniqueSubscriptionId);
            }
            else if (apiCollectionType == APICollectionType.body)
            {
                subscriptionAPIEndpoint = string.Format("/1/user/-/body/apiSubscriptions/{0}-body.xml", uniqueSubscriptionId);
            }
            else if (apiCollectionType == APICollectionType.foods)
            {
                subscriptionAPIEndpoint = string.Format("/1/user/-/foods/apiSubscriptions/{0}-foods.xml", uniqueSubscriptionId);
            }
            else if (apiCollectionType == APICollectionType.meals)
            {
                subscriptionAPIEndpoint = string.Format("/1/user/-/meals/apiSubscriptions/{0}-meals.xml", uniqueSubscriptionId);
            }
            else if (apiCollectionType == APICollectionType.sleep)
            {
                subscriptionAPIEndpoint = string.Format("/1/user/-/sleep/apiSubscriptions/{0}-sleep.xml", uniqueSubscriptionId);
            }
            else if (apiCollectionType == APICollectionType.user)
            {
                subscriptionAPIEndpoint = string.Format("/1/user/-/apiSubscriptions/{0}-user.xml", uniqueSubscriptionId);
            }
            else if (apiCollectionType == APICollectionType.weight) //untested and the docs don't show it, but the Fitbit4J enum does have this
            {
                subscriptionAPIEndpoint = string.Format("/1/user/-/weight/apiSubscriptions/{0}-weight.xml", uniqueSubscriptionId);
            }

            RestRequest request = new RestRequest(subscriptionAPIEndpoint);
            request.Method = Method.POST;
            var response = restClient.Execute<ApiSubscription>(request);

            HandleResponseCode(response.StatusCode);

            return response.Data;
        }
Esempio n. 2
0
        private string FormatKey(APICollectionType apiCollectionType, string format)
        {
            string strValue = apiCollectionType == APICollectionType.user ? string.Empty : apiCollectionType.ToString();

            return(string.IsNullOrWhiteSpace(strValue) ? strValue : string.Format(format, strValue));
        }
Esempio n. 3
0
 public ApiSubscription AddSubscription(APICollectionType apiCollectionType, string uniqueSubscriptionId)
 {
     return AddSubscription(apiCollectionType, uniqueSubscriptionId, string.Empty);
 }
Esempio n. 4
0
 public ApiSubscription AddSubscription(APICollectionType apiCollectionType, string uniqueSubscriptionId)
 {
     return(AddSubscription(apiCollectionType, uniqueSubscriptionId, string.Empty));
 }