繁体   English   中英

使用 RestSharp 时收到“错误请求”

[英]Getting "Bad Request" when using RestSharp

我住在丹麦,我们有能力从Eloverblik.dk网站上提取有关我们用电量的所有数据。

他们甚至提供了一个不错的 API,因此您可以制作自己的程序来从他们的网站中提取数据:

https://api.eloverblik.dk/CustomerApi/index.html

然而:

假设您有以下 C# prof 的概念代码:

using RestSharp;
using RestSharp.Authenticators;

var token = "eyJ...";
var client = new RestClient("https://api.eloverblik.dk") 
{
    Authenticator = new JwtAuthenticator(token)
};

/* Get power usage from June 1st 2022 until September 1st 2022 */
var request = new RestRequest("api/meterdata/getmeterreadings/2022-06-01/2022-09-01");
var response = await client.GetAsync(request);

Console.WriteLine(response.Content);

当我运行代码时,我在尝试调用await client.GetAsync时收到错误代码“BadRequest”。

我究竟做错了什么?

他们在 API 中写道,令牌被格式化为Bearer {token} ,但我认为 JwtAuthenticator 是为我做的?

您似乎错误地调用了 API。

再次检查https://api.eloverblik.dk/CustomerApi/index.html的 API 文档。

  1. getMeterReadings是 POST 方法,而不是 GET(因此,您需要调用client.PostAsync而不是client.GetAsync
  2. getMeterReadings还期望发送 JSON 正文(带有计量点列表)。

另外,我建议您使用一些 HTTP 请求工具(即 Postman)测试您的请求,当您非常确定请求有效时,将其移至 C#。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM