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); }
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); } }