gpt4 book ai didi

Java 文档签名身份验证

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:45:25 24 4
gpt4 key购买 nike

我正在尝试使用 java 连接 docusign。下面是我正在使用的代码。

public class DocuSignExample1 {

private static final String Recipient = "xxx@gmail.com";
private static final String SignTest1File = "/src/test/docs/SignTest1.pdf";
private static final String BaseUrl = "https://demo.docusign.net/restapi";
private static final String IntegratorKey = "xxxxx";
private static final String UserId = "xxxxxx";
private static final String privateKeyFullPath = System.getProperty("user.dir") + "/src/test/keys/docusign_private_key2.txt";
public static void main(String[] args) {

System.out.println("\nRequestASignatureTest:\n" + "===========================================");
byte[] fileBytes = null;
try {
String currentDir = System.getProperty("user.dir");

Path path = Paths.get(currentDir + SignTest1File);
fileBytes = Files.readAllBytes(path);
} catch (IOException ioExcp) {
ioExcp.printStackTrace();
}

EnvelopeDefinition envDef = new EnvelopeDefinition();
envDef.setEmailSubject("Please Sign My Sample Document");
envDef.setEmailBlurb("Hello, Please Sign My Sample Document.");

// add a document to the envelope
Document doc = new Document();
String base64Doc = Base64.encodeToString(fileBytes, false);
doc.setDocumentBase64(base64Doc);
doc.setName("TestFile.pdf");
doc.setDocumentId("1");

List<Document> docs = new ArrayList<Document>();
docs.add(doc);
envDef.setDocuments(docs);

// Add a recipient to sign the document
Signer signer = new Signer();
signer.setEmail(Recipient);
signer.setName("Sanjay");
signer.setRecipientId("1");

// Above causes issue
envDef.setRecipients(new Recipients());
envDef.getRecipients().setSigners(new ArrayList<Signer>());
envDef.getRecipients().getSigners().add(signer);

// send the envelope (otherwise it will be "created" in the Draft folder
envDef.setStatus("sent");

ApiClient apiClient = new ApiClient(BaseUrl);
try {
byte[] privateKeyBytes = null;
try {
privateKeyBytes = Files.readAllBytes(Paths.get(privateKeyFullPath));
} catch (IOException ioExcp) {
Assert.assertEquals(null, ioExcp);
}
if (privateKeyBytes == null)
return;

java.util.List<String> scopes = new ArrayList<String>();
scopes.add(OAuth.Scope_SIGNATURE);

OAuth.OAuthToken oAuthToken = apiClient.requestJWTUserToken(IntegratorKey, UserId, scopes, privateKeyBytes,
3600);
Assert.assertNotSame(null, oAuthToken);
// now that the API client has an OAuth token, let's use it in all
// DocuSign APIs
apiClient.setAccessToken(oAuthToken.getAccessToken(), oAuthToken.getExpiresIn());
UserInfo userInfo = apiClient.getUserInfo(oAuthToken.getAccessToken());

System.out.println("UserInfo: " + userInfo);

apiClient.setBasePath(userInfo.getAccounts().get(0).getBaseUri() + "/restapi");
Configuration.setDefaultApiClient(apiClient);
String accountId = userInfo.getAccounts().get(0).getAccountId();

EnvelopesApi envelopesApi = new EnvelopesApi();

EnvelopeSummary envelopeSummary = envelopesApi.createEnvelope(accountId, envDef);
System.out.println("EnvelopeSummary: " + envelopeSummary);
} catch (ApiException ex) {
ex.printStackTrace();
System.out.println("Exception: " + ex);
} catch (Exception e) {
e.printStackTrace();
System.out.println("Exception: " + e.getLocalizedMessage());
}
}
}

enter image description here

我正在从给定的图像中复制 clientid 和集成 key 。

错误:请求访问 token 时出错:POST https://account-d.docusign.com/oauth/token返回 400 Bad Request 的响应状态

最佳答案

通常 400 Bad Request 响应表示您发送的请求正文有问题或请求的其他格式错误。为了解决这个问题,我建议您在发送之前打印您的请求正文(即信封定义),以便您可以检查其内容并确保它符合您的预期。

至少,要发送信封,您需要电子邮件主题、文档、收件人和状态(设置为“已发送”)。

当您以 JSON 格式打印请求正文时,它应该如下所示:

{
"emailSubject": "API Signature Request",
"documents": [{
"documentId": "1",
"name": "contract.pdf",
"documentBase64": "<...base64 document bytes...>",
}],
"recipients": {
"signers": [{
"email": "bob.smith@docusign.com",
"name": "Bob Smith",
"recipientId": "1",
"routingOrder": "1",
}]
},
"status": "sent"
}

关于Java 文档签名身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54666259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com