У меня есть приложение, которое вызывает API из бэкэнд-класса cs, используя IHostedService.С базовыми вызовами API ("http://httpbin.org/ip") он работает нормально и возвращает правильное значение, однако теперь мне нужно вызвать API-интерфейс Siemens, который требует от меня установить заголовок авторизации и поместить" grant_type = client_credentials "в тело".
public async Task<string> GetResult()
{
string data = "";
string baseUrl = "https://<space-name>.mindsphere.io/oauth/token";
using (HttpClient client = new HttpClient())
{
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", {ServiceCredentialID: ServiceCredentialSecret});
using (HttpResponseMessage res = await client.GetAsync(baseUrl))
{
using (HttpContent content = res.Content)
{
data = await content.ReadAsStringAsync();
}
}
}
Я думаю, что заголовок настроен правильно, но я не буду знать наверняка, пока полный запрос не будет отформатирован. Можно ли вообще установить тело запроса на "grant_type =client_credentials "?