C# 从.Net调用Eventbrite API将导致401

C# 从.Net调用Eventbrite API将导致401,c#,httpwebrequest,eventbrite,C#,Httpwebrequest,Eventbrite,我正在尝试从Eventbrite API检索订单。我有一个有效的OAuth令牌和订单号。我已经用postman验证了这一点,它成功地返回了正确的JSON 但是,当我使用以下c代码拨打电话时,我会收到未经授权的401: var client = new HttpClient(); var req = new HttpRequestMessage(HttpMethod.Get, "https://www.eventbriteapi.com/v3/orders/{orderNo}"); req.Hea

我正在尝试从Eventbrite API检索订单。我有一个有效的OAuth令牌和订单号。我已经用postman验证了这一点,它成功地返回了正确的JSON

但是,当我使用以下c代码拨打电话时,我会收到未经授权的401:

var client = new HttpClient();
var req = new HttpRequestMessage(HttpMethod.Get, "https://www.eventbriteapi.com/v3/orders/{orderNo}");
req.Headers.Add("Authorization", "Bearer {authToken}");
var response = await client.SendAsync(req);
我已尝试将标题替换为:

client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("{authToken}");
我也尝试过:

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.eventbriteapi.com/v3/orders/{orderNo}");
request.Headers.Add("Authorization", "Bearer {authToken}");
request.Accept = "application/json";
using(WebResponse response = request.GetResponse())
            {
    using(Stream dataStream = response.GetResponseStream())
                {
        using(StreamReader reader = new StreamReader(dataStream))
                    {
                        string responseFromServer = reader.ReadToEnd();
        }

    }
}
所有这些都得到了401的回复。 我知道authtoken和eventid是正确的,所以我的代码一定有问题


我对身份验证令牌做了什么错误吗?

您尝试过吗?EventBrite API上的令牌={authToken}选项

这至少可以确认头的发送方式是否有问题


您在EventBrite API上尝试过?token={authToken}选项吗

这至少可以确认头的发送方式是否有问题


您在URL中省略了尾随的“/”,这导致随后从eventbriteapi.com/v3/orders/{orderNo}重定向到eventbriteapi.com/v3/orders/{orderNo}/。重定向中删除了授权标头。

您在URL中省略了结尾的“/”,这导致随后从eventbriteapi.com/v3/orders/{orderNo}重定向到eventbriteapi.com/v3/orders/{orderNo}/。在重定向中删除了授权标头。

有趣的是,将authToken放入querystring中是可行的。正如你所说,这证实了我创建标题的方式有问题。header方法在postman中工作,所以一定是因为我没有在中正确创建它。我可能会尝试启动fiddler,看看请求中实际发送了什么。我被.net在封面下添加的Expect头所吸引,所以可能有类似的东西。有趣的是,将authToken放在querystring中是有效的。正如你所说,这证实了我创建标题的方式有问题。header方法在postman中工作,所以一定是因为我没有在中正确创建它。我可能会尝试启动fiddler,看看请求中实际发送了什么。我被.net在封面下添加的Expect标题弄得不知所措,所以可能有类似的东西。