我正在尝试将临时文档文件上传到 C# 中的 Adobe Sign,它让我拼命尝试让它工作。
我什至联系了 Adobe,甚至他们都不知道该怎么做。
我的代码如下:
if (!File.Exists(@"documents\1-Registration Form.pdf"))
{
return;
}
Models objGetData = new Models();
RestClient objClient = new RestClient("https://api.na1.echosign.com:443/api/rest/v5");
RestRequest objRequest = new RestRequest("transientDocuments", Method.POST);
objRequest.AddFile("file", File.ReadAllBytes(@"documents\1-Registration Form.pdf"), "1-Registration Form.pdf");
objRequest.AddHeader("Access-Token", "-My Token Here-");
objRequest.RequestFormat = DataFormat.Json;
IRestResponse objResponse = objClient.Execute(objRequest);
var content = objResponse.Content;
JObject jsonLinq = JObject.Parse(content);
try
{
var objResultObjects = AllData(jsonLinq).First(c => c.Type == JTokenType.Array && c.Path.Contains("libraryDocumentList")).Children<JObject>();
}
catch(Exception ex)
{
ex.LogExceptionToDatabase();
}
return;
这是我最近一次尝试的结果:
"{\"code\":\"NOT_FOUND\",\"message\":\"Resource not found\"}"
我通常会收到 Bad request 说文件不存在或未找到错误,但它们并不总是相同的。
所有帮助将不胜感激。
编辑:
下面的代码将给出一个包含库文档列表的响应,所以我知道它不是 URL。
var objGetData = new Models();
var objClient = new RestClient("https://api.na1.echosign.com:443/api/rest/v5");
var objRequest = new RestRequest("libraryDocuments", Method.GET);
objRequest.AddHeader("Access-Token", "- My Key -");
objRequest.RequestFormat = DataFormat.Json;
objRequest.AddBody(objGetData);
IRestResponse objResponse = objClient.Execute(objRequest);
var content = objResponse.Content;
JObject jsonLinq = JObject.Parse(content);
解决方案:
var objClient = new RestClient(@"https://api.na1.echosign.com:443/api/rest/v5/");
var objRequest = new RestRequest(@"transientDocuments", Method.POST);
var thisFile = File.ReadAllBytes( @"documents\1-Registration Form.pdf");
objRequest.AddFile("File", File.ReadAllBytes( @"documents\1-Registration Form.pdf"), "1-Registration Form.pdf");
objRequest.AddHeader("Access-Token", "-MyToken-");
objRequest.RequestFormat = DataFormat.Json;
IRestResponse objResponse = objClient.Execute(objRequest);
var content = objResponse.Content;
JObject jsonLinq = JObject.Parse(content);