我一直在寻找一个好方法来实现API键内的“HttpGet”调用第三方API的头部。我检索数据使用 Postman ,但还没有成功地使用。net做调用。
我一直试图添加client.DefaultRequestHeaders.Add("ApiKey", "testApiToken");
到头,但得到授权拒绝作为反馈。
所提供的数据是模拟数据,但具有相同的结构。
是否有特殊的方法将API密钥添加到标头中?
API密钥如下所示:
Key: 3tc97512-198y-12bt-847c-fdd50d583123
value: testApiToken
我尝试实现的代码:
namespace API.Controllers.GetUsersFromThirdPartyAPI
{
[ApiController]
[Route("[controller]")]
public class GetAllUsers : BaseApiController
{
private readonly DataContext _context;
public GetAllUsers(DataContext context)
{
_context = context;
}
[HttpGet]
public async Task<IActionResult> Get()
{
var client = new HttpClient();
client.BaseAddress = new Uri("https://gate-api.hemsa.se:4004");
client.DefaultRequestHeaders.Add("ApiKey", "testApiToken");
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.GetAsync("/api/3tc97512-198y-12bt-847c-fdd50d583123/hms/hemsaRoster/v2p2/users");
return Ok(response);
}
}
}
1条答案
按热度按时间oxcyiej71#
您需要提供正确的头名称,即(基于注解)-
3tc97512-198y-12bt-847c-fdd50d583123
: