繁体   English   中英

C# Rest API 邮政

[英]C# Rest API Post

我正在尝试将 REST API 送入https://www.scheduleit.com/faq/10640/is-there-a-rest-api-or-webhooks

我已经开始工作,把我总是得到的帖子

"{"status": "error", "status_code": "404", "message": "Not Found - 方法 POST 的无效端点"}"

代码是

            var client = new RestClient("https://www.scheduleit.com/api/");
            var request = new RestRequest(this.TokenEndPoint, Method.POST);
            //client.Authenticator = new HttpBasicAuthenticator(userName, password);

            request.AddHeader("Authorization", "Basic xxxxxxxxxxxxxxxxxxxxxxxxx");
            request.AddHeader("content-type", "application/x-www-form-urlencoded");
            request.AddHeader("Cache-Control", "no-cache");


            request.AddParameter("title", "Title Test");
            request.AddParameter("owner", "813");
            request.AddParameter("date_start", "2022-12-05");
            request.AddParameter("date_end", "2022-12-06");


            IRestResponse response = client.Execute(request);

有什么建议么

尝试过各种编码方式

您指定的端点不存在。 您需要包括资源目标;

  • /api/groups
  • /api/resources
  • /api/events
  • /api/labels
  • /api/reports

您还需要在 JSON Body 中传递 arguments,而不是作为查询参数。

它应该是这样的;

public class RequestBody {

  [JsonPropertyName("title")]
  public string Title { get; set; }

  [JsonPropertyName("owner")]
  public string Owner { get; set; }

  [JsonPropertyName("date_start")]
  public DateTime DateStart { get; set; }

  [JsonPropertyName("date_end")]
  public DateTime DateEnd { get; set; }

}
var body = new RequestBody {
  Title = "Title Test",
  Owner = "813",
  DateStart = Date.Now(),
  DateEnd = Date.Now()
};

var client = new RestClient("https://www.scheduleit.com/api/events");

var request = new RestRequest().AddJsonBody(body);

var response = await client.PostAsync(request, CancellationToken.None);

暂无
暂无

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

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