从.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令牌?
你试过吗?令牌=EventBrite API上的{authToken}选项?
这至少可以确认发送标头的方式是否有问题。
http://developer.eventbrite.com/docs/auth/
您在URL中省略了尾部的"/",这导致随后从"eventbriteapi.com/v3/orders/{orderNo}"重定向到"eventbrieapi.com/v3/orders/{orderNo}/"。在重定向中删除了授权标头。