从.Net调用Eventbrite API将导致401

本文关键字:API Net 调用 Eventbrite | 更新日期: 2023-09-27 18:00:27

我正在尝试从Eventbrite API检索订单。我有一个有效的OAuth令牌和订单号。我已经使用poster验证了这一点,它成功地返回了正确的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是正确的,所以我的代码一定有问题。

我是不是在使用authroisation令牌?

从.Net调用Eventbrite API将导致401

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

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

http://developer.eventbrite.com/docs/auth/

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