我正在尝试从Eventbrite API检索订单。我有一个有效的OAuth令牌和订单号。我已经通过使用邮递员(已成功返回正确的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上尝试了?token = {authToken}选项?

这至少可以确认报头的发送方式是否存在问题。

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

10-05 22:00