public static Uri BuildRequestUri(this VerificationCode verificationCode, BaseSpaceClientSettings settings)
        {
            NameValueCollection queryPairs =
                new NameValueCollection
                    {
                        {"client_id", settings.AppClientId},
                        {"response_type", "device_code"},// responseType},
                        {"scope", VerificationCode.AccessCreateBrowseGlobal}
                    };

            return new Uri(string.Format("{0}/{1}/oauthv2/deviceauthorization?{2}", settings.BaseSpaceApiUrl, settings.Version, ToQueryString(queryPairs)));
        }
        public static Uri BuildRequestUri(this VerificationCode verificationCode, BaseSpaceClientSettings settings)
        {
            NameValueCollection queryPairs =
                new NameValueCollection
            {
                { "client_id", settings.AppClientId },
                { "response_type", "device_code" },      // responseType},
                { "scope", VerificationCode.AccessCreateBrowseGlobal }
            };

            return(new Uri(string.Format("{0}/{1}/oauthv2/deviceauthorization?{2}", settings.BaseSpaceApiUrl, settings.Version, ToQueryString(queryPairs))));
        }
        public static Uri BuildRequestUri(this AccessToken accessToken, VerificationCode verificationCode, BaseSpaceClientSettings settings)
        {
            NameValueCollection queryPairs =
                new NameValueCollection
                {
                    {"client_id", settings.AppClientId},
                    {"client_secret", settings.AppClientSecret},
                    {"code", verificationCode.DeviceCode},
                    {"grant_type", "device"}
                };

            return new Uri(string.Format("{0}/{1}/oauthv2/token?{2}", settings.BaseSpaceApiUrl, settings.Version, RequestUrlExtensions.ToQueryString(queryPairs)));
        }
        public static Uri BuildRequestUri(this AccessToken accessToken, VerificationCode verificationCode, BaseSpaceClientSettings settings)
        {
            var authentication = settings.Authentication as OAuth2Authentication;

            NameValueCollection queryPairs =
                new NameValueCollection
            {
                { "client_id", authentication.AppId },
                { "client_secret", authentication.AppSecret },
                { "code", verificationCode.DeviceCode },
                { "grant_type", "device" }
            };

            return(new Uri(string.Format("{0}/{1}/oauthv2/token?{2}", settings.BaseSpaceApiUrl, settings.Version, ToQueryString(queryPairs))));
        }