You need to sign in to do that
Don't have an account?
Andrew Fandre
C# REST GET works POST says invalid session
I sure hope I can get some help, or at least another set of eyes on my problem.
My GET Request from C# works fine and retrieves data all day long
My GET Request from C# works fine and retrieves data all day long
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; string oauthToken, serviceUrl; HttpClient authClient = new HttpClient(); HttpContent content = GetClientContent(); string tokenString = ConfigurationManager.AppSettings["tokenUrl"]; HttpResponseMessage message = await authClient.PostAsync(tokenString, content); string responseString = await message.Content.ReadAsStringAsync(); JObject obj = JObject.Parse(responseString); oauthToken = (string)obj["access_token"]; serviceUrl = (string)obj["instance_url"]; string service = ConfigurationManager.AppSettings.Get("RestService") + "sobjects/Case/describe/"; string fullRequest = serviceUrl + service; HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, fullRequest); request.Headers.Add("Authorization", "Bearer " + oauthToken); request.Headers.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); HttpClient queryClient = new HttpClient(); HttpResponseMessage response = await queryClient.SendAsync(request); string result = await response.Content.ReadAsStringAsync();But when I try a POST I get the dreaded [{\"message\":\"Session expired or invalid\",\"errorCode\":\"INVALID_SESSION_ID\"}
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; HttpClient authClient = new HttpClient(); HttpContent authContent = GetClientContent(); string tokenString = ConfigurationManager.AppSettings["tokenUrl"]; HttpResponseMessage authMessage = await authClient.PostAsync(tokenString, authContent); string responseString = await authMessage.Content.ReadAsStringAsync(); JObject requestObj = JObject.Parse(responseString); string oauthToken = (string)requestObj["access_token"]; string serviceUrl = (string)requestObj["instance_url"]; string service = ConfigurationManager.AppSettings.Get("RestService") + "sobjects/Case/"; string fullRequest = serviceUrl + service; HttpRequestMessage POSTRequest = new HttpRequestMessage(HttpMethod.Post, fullRequest); POSTRequest.Headers.Add("Authorization", "Bearer " + oauthToken); POSTRequest.Headers.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); var caseJSON = JsonConvert.SerializeObject(ru); POSTRequest.Content = new StringContent(caseJSON, Encoding.UTF8, "application/json"); HttpClient postClient = new HttpClient(); HttpResponseMessage svcResp = await postClient.PostAsync(fullRequest, POSTRequest.Content); string caseResult = await svcResp.Content.ReadAsStringAsync();Can someone eyeball this and give me a tip or pointer?
This is the POST request properly formatted.