2017-02-22 5 views
1

REST APIを使用して、完成した封筒からドキュメントを取得しようとしています。私のヘッダはX-DocuSign-Authenticationを使用しています。Docusign - レストAPIを介してダウンロードしたPDFを開くエラー

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(); 
} 

私は完成したPDFを開こうとすると、私は

署名者の身元が確認されていないことを示すエラーを取得します。

私が間違っている可能性のあるアイデアはありますか?

答えて

1

封筒からドキュメントをダウンロードするには、APIレシピhereをご覧ください。

var ap = new EnvelopesApi(); 
var edr = ap.ListDocuments((AccountId, "xxx-xx-xxx"); 
List<EnvelopeDocument> docs = edr.EnvelopeDocuments; 

foreach(EnvelopeDocument doc in docs) 
{ 
    // GetDocument() API call returns a MemoryStream 
    var docStream = (MemoryStream)envelopesApi.GetDocument(accountId, envelopeId, doc.DocumentId); 
    // let's save the document to local file system 
    filePath = @"C:\temp\" + Path.GetRandomFileName() + ".pdf"; 
    fs = new FileStream(filePath, FileMode.Create); 
    docStream.Seek(0, SeekOrigin.Begin); 
    docStream.CopyTo(fs); 
    fs.Close(); 
} 

またGetEnvelopeDocuments APIを使用して封筒に組み合わせた文書をダウンロードすることができます。個々のドキュメントを照会する必要はありません。


  • コンバインドPDF

は、文書IDとしてを組み合わせた文字列を渡します。

すべてのドキュメントと証明書を組み合わせた内容を含むPDFを取得します。

string envelopeId = "XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"; 
string accountId = "XXXXXX"; 
var envApi = new EnvelopesApi(); 

// GetDocument() API call returns a MemoryStream 
var docStream = (MemoryStream)envApi.GetDocument(accountId, envelopeId, "combined"); 
// let's save the document to local file system 
string filePath = @"C:\temp\" + Path.GetRandomFileName() + ".pdf"; 
var fs = new FileStream(filePath, FileMode.Create); 
docStream.Seek(0, SeekOrigin.Begin); 
docStream.CopyTo(fs); 
fs.Close(); 

  • ZIPファイル

文書ID

などの文字列 アーカイブを渡しをすべて含むZIPアーカイブを取得しますPDFドキュメント、証明書、および音声認証に使用される.WAVファイルが含まれます。

var envApi = new EnvelopesApi(); 

// GetDocument() API call returns a MemoryStream 
var docStream = (FileStream)envApi.GetDocument(accountId, envelopeId, "archive"); 
// let's save the document to local file system 
string filePath = @"C:\temp\" + Path.GetRandomFileName() + ".zip"; 
var fs = new FileStream(filePath, FileMode.Create); 
docStream.Seek(0, SeekOrigin.Begin); 
docStream.CopyTo(fs); 
fs.Close(); 
+1

あなたはすばらしいコーディングドッグです。それがトリックでした。なぜ私は、StreamReaderとStreamWriterを使用してもうまくいかないのだろうかと思います。 –

関連する問題