I am getting an internal server 500 error..Here is my code..Please help me i have been staked since last one week OAuthBase oauth = new OAuthBase();
string returnStr = string.Empty;
string url="http://mail.yahooapis.com/ws/mail/v1.1/jsonrpc";
Uri uri = new Uri(url);
string nonce = oauth.GenerateNonce();
string timeStamp = oauth.GenerateTimeStamp();
string normalizedUrl;
string normalizedRequestParameters;
string sig = oauth.GenerateSignature(uri, ConsumerKey, ConsumerSecret, OauthToken, OauthTokenSecret, "POST", timeStamp, nonce, OAuthBase.SignatureTypes.HMACSHA1, out normalizedUrl, out normalizedRequestParameters);
StringBuilder sbGetContacts = new StringBuilder(uri.ToString());
try
{
string aParams
= "[{'fid':'Inbox','startInfo':0,'numInfo':10}]";
string oRequest = "{'method':'ListMessages','params': " + aParams + "}";
DataContractJsonSerializer ser = new DataContractJsonSerializer(oRequest.GetType());
MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, oRequest);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(sbGetContacts.ToString());
req.Method = "POST";
req.ContentType = "application/json";
req.Accept = "application/json";
string authHeader = "Authorization: OAuth " +
"oauth_consumer_key=\"" + ConsumerKey + "\"" +
",oauth_nonce=\"" + nonce + "\"" +
",oauth_signature_method=\"HMAC-SHA1\"" +
",oauth_timestamp=\"" + timeStamp + "\"" +
",oauth_token=\"" + OauthToken + "\"" +
",oauth_version=\"1.0\"" +
",oauth_signature=\"" + HttpUtility.UrlEncode(sig) + "\"";
//Response.Write("
Headers: " + authHeader);
req.Credentials = CredentialCache.DefaultCredentials;
req.AllowWriteStreamBuffering = true;
req.PreAuthenticate = true;
req.ServicePoint.Expect100Continue = false;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
req.Headers.Add(authHeader);
String json = Encoding.UTF8.GetString(ms.ToArray());
StreamWriter writer = new StreamWriter(req.GetRequestStream());
writer.Write(json);
writer.Close();
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
StreamReader streamReader = new StreamReader(res.GetResponseStream());
returnStr = streamReader.ReadToEnd();