Example #1
0
        public static RtmApiResponse GetApiAuthToken()
        {
            IDictionary <string, string> parameters = new Dictionary <string, string>
            {
                { "api_key", ApiKey },
                { "format", "json" },
                { "frob", _frob },
                { "method", _getToken }
            };
            RtmApiRequest request = new RtmApiRequest();

            request.Parameters = new SortedDictionary <string, string>(parameters);
            RtmApiResponse response = SendRequest(WebRequestMethods.Http.Get, _getToken, request);

            AuthToken = response.Auth.Token;
            return(response);
        }
Example #2
0
        private static RtmApiResponse SendRequest(string webRequestMethod, string rtmMethod, RtmApiRequest request)
        {
            RtmApiResponse response = null;

            try
            {
                request.Parameters.CreateNewOrUpdateExisting("format", "json");
                request.Parameters.CreateNewOrUpdateExisting("method", rtmMethod);
                request.Parameters.CreateNewOrUpdateExisting("api_key", ApiKey);
                request.Parameters.CreateNewOrUpdateExisting("auth_token", AuthToken);

                request.Parameters.Remove("api_sig");

                string apiSig = SignApiParameters(request.Parameters);
                request.Parameters.Add("api_sig", apiSig);

                string url = string.Format("{0}?{1}", _restUrl, EncodeParameters(request.Parameters));

                WebRequest webRequest = WebRequest.Create(url);
                webRequest.Method = webRequestMethod;
                WebResponse webResponse = webRequest.GetResponse();
                string      data;
                using (StreamReader sr = new StreamReader(webResponse.GetResponseStream()))
                {
                    data = sr.ReadToEnd();
                    sr.Close();
                }
                RtmApiResponseRoot responseRoot = JsonConvert.DeserializeObject <RtmApiResponseRoot>(data);
                response = responseRoot.Response;
                return(response);
            }
            catch (Exception)
            {
                return(response);
            }
        }