Интеграция Java и Docusign - PullRequest
       6

Интеграция Java и Docusign

0 голосов
/ 25 февраля 2019

Я создал ключ интегратора и закрытый / открытый ключ в песочнице docusign.

Когда я пытаюсь вызвать API, это выдает мне ошибку.

Мой код выглядит так:

public class DocuSignExample1 {

    private static final String IntegratorKey = "10048d4c-0549-434e-b224-4805b36b69e1";
    private static final String UserId = "ef27e777-c6fc-4385-91ce-63dafab5385b";
    private static final String privateKeyFullPath = System.getProperty("user.dir") + "/src/test/keys/docusign_private_key2.txt";


    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";
    public static void main(String[] args) {

        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.");

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

        Signer signer = new Signer();
        signer.setEmail(Recipient);
        signer.setName("Sanjay");
        signer.setRecipientId("1");
        envDef.setRecipients(new Recipients());
        envDef.getRecipients().setSigners(new ArrayList<Signer>());
        envDef.getRecipients().getSigners().add(signer);
        envDef.setStatus("sent");

        ApiClient apiClient = new ApiClient(BaseUrl);
        try {
            byte[] privateKeyBytes = null;
            try {
                privateKeyBytes = Files.readAllBytes(Paths.get(privateKeyFullPath));
            } catch (IOException e) {
                e.printStackTrace();
            }
            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);
            apiClient.setAccessToken(oAuthToken.getAccessToken(), oAuthToken.getExpiresIn());
            UserInfo userInfo = apiClient.getUserInfo(oAuthToken.getAccessToken());
            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();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

В приведенном выше коде я просто изменяю свой ключ учетной записи, но не работаю.

Я создал проект с примером.Здесь DocusignExample.java работает, но DocusignExample1.java не работает.

https://gitlab.com/sanju24689/docusign

Для DocusignExample я взял ссылку (ключ) из docusign java sdk (https://github.com/docusign/docusign-java-client/blob/master/src/test/java/SdkUnitTests.java)С этой ссылкой я создал свой код и просто изменил ключ интеграции, имя пользователя API и закрытый ключ.

Это дает мне ошибку типа "com.docusign.esign.client.ApiException: Ошибка при запросе токена доступа: POSThttps://account -d.docusign.com / oauth / token вернул статус ответа 400 Bad Request "

1 Ответ

0 голосов
/ 25 февраля 2019

Итак, у вас есть рабочий пример, но когда вы меняете ключ интеграции, пример перестает работать?

Похоже, проблема с вашими настройками: убедитесь, что вы используете правильный закрытый ключ RSA с правильнымИнтеграционный ключ (IK).

Также убедитесь, что на IK НЕ установлено «Мобильное приложение».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...