I am getting a 400 bad request trying to call an API using HttpClient
and I am not exactly sure what I am missing.
I have tried the endpoint from my browser and from Postman and have not had any issues, but when I try to use the following code I get a 400 bad request:
using (HttpClient client = new HttpClient())
{
var result = client.GetAsync("https://api.exchange.coinbase.com/products/ETH-USD/candles?granularity=300&start=2022-03-22&end=2022-03-23").Result;
}
Would anyone be able to tell me what I am missing to get this to work?
CodePudding user response:
The request from the original code returns {"message":"User-Agent header is required."}
. If it is the case, add user-agent header to fix the problem
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.UserAgent.Add(new ProductInfoHeaderValue(".NET", "6.0"));
var result = await client.GetAsync("https://api.exchange.coinbase.com/products/ETH-USD/candles?granularity=300&start=2022-03-22&end=2022-03-23");
Console.WriteLine(await result.Content.ReadAsStringAsync());
}