为 C# 中的 HttpClient 设置 Authorization 标头 (OAuth, REST)
大家好!我是 C# 新手,正在尝试向需要 OAuth 2.0 认证的 REST API 发送 GET 请求。我有一个从授权服务器获取的 Bearer 令牌 (access_token)。问题是我无法正确为 HttpClient 设置 Authorization 标头。API 返回 401 Unauthorized 错误,尽管令牌是有效的(已在 Postman 中验证)。我的代码如下:
```csharp
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://api.example.com/");
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.GetAsync("/v1/users");
// ... 处理响应
}
```
我还尝试过通过 `client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token)` 手动添加标头,但结果相同。我哪里做错了?也许问题在于我错误地设置了 BaseAddress,或者对于 Windows Runtime 需要使用其他方法?