****編輯:感謝這些鏈接,@Hackerman。我能夠在Postman中使用Docusign郵遞員樣本,然後在Powershell中使用它。但是我無法使用我自己的PDF文檔。我懷疑這是因爲我沒有正確地將我的PDF轉換爲Base64。任何人都知道如何可以通過PowerShell的****完成」PDF文件的驗證失敗。「當試圖通過電子郵件發送簽名請求 - docusign
EDIT2:?是能夠通過PowerShell來編碼我的PDF文件爲Base64這個簡單的1班輪 $ docEncodedBase64 = [轉換] :: ToBase64String((獲取 - 內容$ PDFPath -Encoding字節))
我們試圖使用Powershell 5.0(和invoke-restmethod
cmdlet)向docusign REST API發出請求,以便通過電子郵件發送簽名請求。
在我的測試中,我一直在關注這個指南:https://docs.docusign.com/esign/guide/usage/request_a_signature.html#prepare-the-document-to-send-through-docusign但我得到一個錯誤,當我把我的POST請求
我們要一個正常的請求(即,不是多部分請求)的路徑,從而以base64編碼格式的字節形式提供PDF文檔作爲documentBase64屬性的值。
這裏是我的代碼的PDF轉換爲Base64字節:
# PDF document
$docContent = Get-Content 'Mutual_NDA.pdf'
# PDF as bytes
$docBytes = [System.Text.Encoding]::Unicode.GetBytes($docContent)
# PDF as Base-64 Encoded bytes
$docEncoded = [System.Convert]::ToBase64String($docBytes)
然後我定義我的JSON有效載荷,這將作爲POST請求的正文中發送。在這裏,我將'documentBase64'屬性設置爲上面剛剛轉換的base64編碼的字符串。
# JSON payload
$jsonPayload = @"
{
"documents": [
{
**"documentBase64": "$docEncoded"**,
"documentId": "1",
"fileExtension": "pdf",
"name": "Mutual_NDA.pdf"
}
],
"emailSubject": "Please sign the NDA",
"recipients": {
"signers": [
{
"email": "[email protected]",
"name": "Darlene Petersen",
"recipientId": "1",
"routingOrder": "1",
"tabs": {
"dateSignedTabs": [
{
"anchorString": "signer1date",
"anchorYOffset": "-6",
"fontSize": "Size12",
"name": "Date Signed",
"recipientId": "1",
"tabLabel": "date_signed"
}
],
"fullNameTabs": [
{
"anchorString": "signer1name",
"anchorYOffset": "-6",
"fontSize": "Size12",
"name": "Full Name",
"recipientId": "1",
"tabLabel": "Full Name"
}
],
"signHereTabs": [
{
"anchorString": "signer1sig",
"anchorUnits": "mms",
"anchorXOffset": "0",
"anchorYOffset": "0",
"name": "Please sign here",
"optional": "false",
"recipientId": "1",
"scaleValue": 1,
"tabLabel": "signer1sig"
}
]
}
}
]
},
"status": "sent"
}
"@
最後,HTTP請求:
$Envelope = Invoke-RestMethod -uri ($BaseURL + '/envelopes') -Method Post -Body $jsonPayload -ContentType 'application/json' -Headers @{"X-Docusign-Authentication" = $XMLHeader}
任何人有這方面的經驗?也許我錯誤地將PDF編碼爲base64?我真的被卡住了。任何幫助感謝! 謝謝,
埃裏克
只是爲了測試目的...你可以建立:) – Hackerman
使用像'Postman',一旦你有一個工作負載,端口邏輯另一個工具PowerShell中的有效載荷什麼錯誤??? – 4c74356b41
「錯誤碼」:「PDF_VALIDATION_FAILED」, 「消息」:「PDF文件的驗證失敗。」 – Quanda