/// <summary>
        ///  Delete all subscriptions of a certain object type.
        /// </summary>
        /// <param name="clientId"></param>
        /// <param name="clientSecret"></param>
        /// <param name="obj"></param>
        /// <returns></returns>
        public async Task <string> DeleteAllSubscriptionsForObjectAsync(RealTimeObjects obj)
        {
            using (HttpClient httpClient = new HttpClient())
            {
                var response = await httpClient.DeleteAsync(RealTimeSubscriptionsUrlsFactory.CreateDELETESubscriptionsUrl(this.clientId, this.clientSecret, obj));

                string responseContent = await response.Content.ReadAsStringAsync();

                if (response.IsSuccessStatusCode)
                {
                    return(responseContent);
                }
                else
                {
                    throw new InstagramAPIException(responseContent);
                }
            }
        }
        public static string CreateDELETESubscriptionsUrl(string clientId, string clientSecret, RealTimeObjects obj)
        {
            var queryString = BuildDELETESubscriptionsUrlQueryString(clientId, clientSecret, obj);

            return(BuildRealTimeSubscriptionUrl(InstagramAPIUrls.RealTimeSubscriptionsUrl, queryString));
        }
        private static object BuildDELETESubscriptionsUrlQueryString(string clientId, string clientSecret, RealTimeObjects obj)
        {
            var queryString = QueryHelpers.ParseQuery("");

            queryString["client_id"]     = clientId;
            queryString["client_secret"] = clientSecret;
            switch (obj)
            {
            case RealTimeObjects.User:
                queryString["object"] = "user";
                break;

            case RealTimeObjects.All:
                queryString["object"] = "all";
                break;

            default:
                break;
            }
            return(queryString.ToString());
        }
Beispiel #4
0
        private static object BuildDELETESubscriptionsUrlQueryString(string clientId, string clientSecret, RealTimeObjects obj)
        {
            var queryString = HttpUtility.ParseQueryString("");

            queryString["client_id"]     = clientId;
            queryString["client_secret"] = clientSecret;
            switch (obj)
            {
            case RealTimeObjects.User:
                queryString["object"] = "user";
                break;

            case RealTimeObjects.Tag:
                queryString["object"] = "tag";
                break;

            case RealTimeObjects.Location:
                queryString["object"] = "location";
                break;

            case RealTimeObjects.Geography:
                queryString["object"] = "geography";
                break;

            case RealTimeObjects.All:
                queryString["object"] = "all";
                break;

            default:
                break;
            }
            return(queryString.ToString());
        }