OAuth 2.0 In .NET With Instagram API
I got the answer from the above mentioned SO post about adding POST parameters to an HttpWebRequest. Here are the details of my implementation.
NameValueCollection parameters = new NameValueCollection();parameters.Add("client_id", "3498wjfoi2892jf0j2ij02fjakjf2");parameters.Add("client_secret", "392621gfdlfj2k2hf7g2lfhj2g");parameters.Add("grant_type", "authorization_code");parameters.Add("redirect_uri", "http://localhost:34962/Home/Auth");parameters.Add("code", code);WebClient client = new WebClient();var result = client.UploadValues("https://api.instagram.com/oauth/access_token", parameters);var response = System.Text.Encoding.Default.GetString(result);return View("Index", (object)response);
I spent a lot of time on my task because i didn't see response error.
try { NameValueCollection parameters = new NameValueCollection(); parameters.Add("client_id", "638ed32066b04801bd40aa05c1542915"); parameters.Add("client_secret", "fc67cf3645a648ce82106298010acd65"); parameters.Add("grant_type", "authorization_code"); parameters.Add("redirect_uri", "http://localhost:34962/Test/InstagramCallback"); parameters.Add("code", code); WebClient client = new WebClient(); var result = client.UploadValues("https://api.instagram.com/oauth/access_token", "POST", parameters); return Encoding.Default.GetString(result); } catch (WebException ex) { StreamReader reader = new StreamReader(ex.Response.GetResponseStream()); string line; StringBuilder result = new StringBuilder(); while ((line = reader.ReadLine()) != null) { result.Append(line); } return result.ToString(); }