尝试将包含我的帖子请求的附件发送到新的办公桌 outbound_email 端点

问题描述 投票:0回答:1

我正在尝试使用 RestSharp 从新的桌面 API 调用 outbound_email 端点。

我希望它发送一封包含附件的电子邮件。

如果我不包含附件,我可以成功发布到端点,并且我确实收到了电子邮件,但是当我包含附件时,它会失败,指出错误的请求。

我能够让它在 Postman 中正常工作,所以我想知道我添加的文件是否格式错误或其他什么,但在浏览 API 文档时找不到任何内容。

这是我的代码:

var client = new RestClient(outboundEmail);
var request = new RestRequest("", Method.Post);

request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(apiKey + ":X")));

request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "multipart/form-data");

request.AddFile("attachments[]", "filePath");

request.AddParameter("email", myEmail);
request.AddParameter("subject", subject);
request.AddParameter("description", description);
request.AddParameter("status", status);
request.AddParameter("priority", priority);
request.AddParameter("email_config_id", emailConfigID);

var response = client.Execute(request);

它给我的错误是:

“描述”:“验证失败”,“错误”: [{“字段”:“电子邮件 ","message":"请求中存在意外/无效字段","code":"invalid_field"}, {“字段”:“主题 ","message":"请求中存在意外/无效字段","code":"invalid_field"},{"field":"description ","message":"请求中存在意外/无效字段","code":"invalid_field"},{"field":"status ","message":"请求中存在意外/无效字段","code":"invalid_field"},{"field":"优先级 ","message":"请求中存在意外/无效字段","code":"invalid_field"},{"field":"email_config_id ","message":"请求中存在意外/无效字段","code":"invalid_field"}]}"

我也尝试过使用 httpClient 而不是 Rest Sharp,但仍然遇到相同的错误。

attachment restsharp freshdesk
1个回答
0
投票

用requestbin检查我的请求后,我可以看到postman请求和restsharp请求之间的区别在于,postman中参数的名称用引号“email”括起来,而restsharp请求没有它们在引号中。

为了解决这个问题,我在 :

中强制加了引号
    request.AddParameter("\"email\"", myEmail);
    request.AddParameter("\"subject\"", subject);
    request.AddParameter("\"description\"", description);
    request.AddParameter("\"status\"", status);
    request.AddParameter("\"priority\"", priority);
    request.AddParameter("\"email_config_id\"", emailConfigID);
© www.soinside.com 2019 - 2024. All rights reserved.