Docusignapi Docusign-打开通过Rest API下载的PDF时出错
使用RESTAPI,我试图从一个完整的信封中取出文档。我的头正在使用X-DocuSign-AuthenticationDocusignapi Docusign-打开通过Rest API下载的PDF时出错,docusignapi,Docusignapi,使用RESTAPI,我试图从一个完整的信封中取出文档。我的头正在使用X-DocuSign-Authentication EnvelopesApi ap = new EnvelopesApi(); Encoding encode = System.Text.Encoding.GetEncoding("utf-8"); EnvelopeDocumentsResult edr = ap.ListDocuments((AccountId, "xxx-xx-xxx"); List<Envelop
EnvelopesApi ap = new EnvelopesApi();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
EnvelopeDocumentsResult edr = ap.ListDocuments((AccountId, "xxx-xx-xxx");
List<EnvelopeDocument> docs = edr.EnvelopeDocuments;
foreach(EnvelopeDocument doc in docs)
{
Stream stream1 = ap.GetDocument(AccountId, "xxx-xx-xxx", doc.DocumentId);
StreamReader reader = new System.IO.StreamReader(stream1, encode);
var data = reader.ReadToEnd();
StreamWriter writer = new StreamWriter(@"C:\mysigneddoc.pdf");
writer.Write(data);
writer.Close();
}
EnvelopesApi ap=新的EnvelopesApi();
Encoding encode=System.Text.Encoding.GetEncoding(“utf-8”);
EnvelopedDocumentsResult edr=ap.ListDocuments((账户ID,“xxx xx xxx”);
列表文档=edr.Enveloped文档;
foreach(将文件封装在文件中)
{
stream1=ap.GetDocument(AccountId,“xxx xx xxx”,doc.DocumentId);
StreamReader=新系统.IO.StreamReader(stream1,编码);
var data=reader.ReadToEnd();
StreamWriter writer=新的StreamWriter(@“C:\mysigneddoc.pdf”);
writer.Write(数据);
writer.Close();
}
当我试图打开已完成的pdf时,我得到一个错误,说明
签名者身份尚未验证
你知道我哪里会出错吗?请查看API配方,从信封下载文档
var ap=new EnvelopesApi();
var edr=应付账款清单文件((账户ID,“xxx xx xxx”);
列表文档=edr.Enveloped文档;
foreach(将文件封装在文件中)
{
//GetDocument()API调用返回一个MemoryStream
var docStream=(MemoryStream)信封API.GetDocument(accountId,信封ID,doc.DocumentId);
//让我们将文档保存到本地文件系统
filePath=@“C:\temp\”+Path.GetRandomFileName()+“.pdf”;
fs=新文件流(filePath,FileMode.Create);
Seek(0,SeekOrigin.Begin);
docStream.CopyTo(fs);
fs.Close();
}
您还可以使用api将组合文档下载到信封中。您无需查询每个文档
- 组合PDF
string envelopeId=“XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX”;
字符串accountId=“XXXXXX”;
var envApi=新信封API();
//GetDocument()API调用返回一个MemoryStream
var docStream=(MemoryStream)envApi.GetDocument(accountId,信封ID,“组合”);
//让我们将文档保存到本地文件系统
字符串filePath=@“C:\temp\”+Path.GetRandomFileName()+“.pdf”;
var fs=new FileStream(filePath,FileMode.Create);
Seek(0,SeekOrigin.Begin);
docStream.CopyTo(fs);
fs.Close();
- ZIP文件
EnvelopesApi ap = new EnvelopesApi();
Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
EnvelopeDocumentsResult edr = ap.ListDocuments((AccountId, "xxx-xx-xxx");
List<EnvelopeDocument> docs = edr.EnvelopeDocuments;
foreach(EnvelopeDocument doc in docs)
{
Stream stream1 = ap.GetDocument(AccountId, "xxx-xx-xxx", doc.DocumentId);
StreamReader reader = new System.IO.StreamReader(stream1, encode);
var data = reader.ReadToEnd();
StreamWriter writer = new StreamWriter(@"C:\mysigneddoc.pdf");
writer.Write(data);
writer.Close();
}
var envApi=new EnvelopesApi();
//GetDocument()API调用返回一个MemoryStream
var docStream=(FileStream)envApi.GetDocument(accountId,信封ID,“归档”);
//让我们将文档保存到本地文件系统
字符串filePath=@“C:\temp\”+Path.GetRandomFileName()+“.zip”;
var fs=new FileStream(filePath,FileMode.Create);
Seek(0,SeekOrigin.Begin);
docStream.CopyTo(fs);
fs.Close();
你编写的代码很棒。这就成功了。我想知道为什么使用StreamReader和StreamWriter不起作用。