我想通过API向Freshdesk添加一个带有附件的工单。我知道如何在没有附件的情况下添加票据,而且它工作得很好。但是,我不知道如何添加带有附件的工单。我想用JSON来做这件事。我尝试了这样的东西:
string json = $"{{\"helpdesk_ticket\": {{\"subject\":\"{subject}\",\"description_html\":\"{fullDescription}\",\"name\":\"{user}\",\"attachments\":{{\"\":[{{\"resource\":\"{bytes}\"}}]}}}}}}";在字节字段中,我有我的文件字节数组。但它不起作用。有人能帮我把JSON格式的文件传递给Freshdesk API吗?
发布于 2017-02-08 17:30:41
发布于 2017-02-28 17:51:15
我用RestSharp解决了这个问题。这是REST API的简单工具。当我发送带有附件的票据时,我使用以下代码:
var client = new RestClient(_freshdeskUrl);
client.Authenticator = new HttpBasicAuthenticator(_apiKey, "X");
var request = new RestRequest("", Method.POST);
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "multipart/form-data");
request.AddParameter("email", "example@example.com");
request.AddParameter("subject", "Subject");
request.AddParameter("description", "Description");
request.AddParameter("name", "Name");
request.AddParameter("status", "2");
request.AddParameter("priority", "1");
request.AddFile("attachments[]", bytes, "Logs.txt", "text/plain");
var response = client.Execute(request);当我发送没有附件的票据时,我使用以下代码:
RestClient client = new RestClient(_freshdeskUrl);
client.Authenticator = new HttpBasicAuthenticator(_apiKey, "X");
RestRequest request = new RestRequest("", Method.POST);
request.AddHeader("Accept", "application/json");
request.AddJsonBody(new
{
email = "example@example.com",
subject = "Subject",
description = "Description",
name = "Name",
status = 2,
priority = 1
});
var response = client.Execute(request);https://stackoverflow.com/questions/42074554
复制相似问题