Could you kindly assist me guide the client on the below request.
Case Details : We are getting a 403 error when using the POST API CALL to https://selectapi.datascope.refinitiv.com/RestApi/v1/
in order to get a login token.
User: 9032560
Further details :
Below is the code we're using and the error message we're getting back.
Code:
string serviceUrl = serviceBaseURL + @Authentication/RequestToken;
//string token = string.Empty;
string body = "{{\"Credentials\": {{\"Username\": \"{0}\",\"Password\": \"{1}\"}}}}";
body = string.Format(body, username, password);
var proxy = new WebProxy
{
Address = new Uri(proxyURL),
BypassProxyOnLocal = false,
UseDefaultCredentials = false,
};
// Now create a client handler which uses that proxy
var httpClientHandler = new HttpClientHandler
{
Proxy = proxy,
};
using (var httpClient1 = new HttpClient(httpClientHandler))
{
httpClient1.Timeout = new TimeSpan(0, 60, 0);
using (var request = new HttpRequestMessage(new HttpMethod("POST"), serviceUrl))
{
request.Headers.TryAddWithoutValidation("accept", "*/*");
request.Content = new StringContent(body);
request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/json");
HttpResponseMessage response = httpClient1.SendAsync(request).Result;
if (response.IsSuccessStatusCode)
{
string result = response.Content.ReadAsStringAsync().Result;
dynamic dynListEntries = JsonConvert.DeserializeObject(result);
token = dynListEntries.value.ToString();
}
else
{
Dts.TaskResult = (int)ScriptResults.Failure;
Dts.Events.FireError(2, "Token", "Failed to get token", "", 0);
}
}
}
Error:
System.AggregateException: One or more errors occurred. ---> System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.
at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)
at System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar)
--- End of inner exception stack trace ---
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at ST_ddc11e0dcb914ab6981ed8578445d403.ScriptMain.Main()
---> (Inner Exception #0) System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.
at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)
at System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar)
--- End of inner exception stack trace ---<---
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at ST_ddc11e0dcb914ab6981ed8578445d403.ScriptMain.Main() Exception: System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.
at System.Net.HttpWebRequest.EndGetRequestStream(IAsyncResult asyncResult, TransportContext& context)
at System.Net.Http.HttpClientHandler.GetRequestStreamCallback(IAsyncResult ar)
--- End of inner exception stack trace ---