DocuSign API示例不起作用的问题

时间:2019-03-26 12:11:15

标签: c# docusignapi

我正在尝试使用eg-01-csharp-jwt-framework-master示例,但是遇到了问题。我已经输入了配置文件所需的所有信息,是的,我已经将其放置在正确的位置。不幸的是,我无法使其正常工作。

我遇到的问题在于代码本身。在一行一行地浏览代码时,我发现错误出在ExampleBase.cs的第42行上,并且出现了一个异常,内容为“ {“ -----未找到RSA私有密钥”}“。直接从DocuSign网站复制了私钥。

这是我输入的内容

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <!--This is my API Account ID GUID-->
    <add key="DS_CLIENT_ID" value="xxx" />
    <!--This is my API User Name GUID-->
    <add key="DS_IMPERSONATED_USER_GUID" value="xxx" />
    <add key="DS_TARGET_ACCOUNT_ID" value="FALSE" />
    <add key="DS_SIGNER_1_EMAIL" value="recipient email address here" />
    <add key="DS_SIGNER_1_NAME" value="recipient name here" />
    <add key="DS_CC_1_EMAIL" value="{USER_EMAIL}" />
    <add key="DS_CC_1_NAME" value="Charlie Copy" />
    <add key="DS_AUTH_SERVER" value="https://account-d.docusign.com"/>
    <!--This is my newly created Private Key for this example-->
    <add key="DS_PRIVATE_KEY" value="-----BEGIN RSA PRIVATE KEY-----
My Private key here
-----END RSA PRIVATE KEY-----" />
  </appSettings>
</configuration>

这是被问到的

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <add key="DS_CLIENT_ID" value="12345" />
    <add key="DS_IMPERSONATED_USER_GUID" value="12345" />
    <add key="DS_TARGET_ACCOUNT_ID" value="FALSE" />
    <add key="DS_SIGNER_1_EMAIL" value="sue@example.com" />
    <add key="DS_SIGNER_1_NAME" value="Sue Cardella" />
    <add key="DS_CC_1_EMAIL" value="larry@example.com" />
    <add key="DS_CC_1_NAME" value="Charlie Copy" />
    <add key="DS_AUTH_SERVER" value="https://account-d.docusign.com"/>
    <add key="DS_PRIVATE_KEY" value="-----BEGIN RSA PRIVATE KEY-----&#xA;
MIIEowIBAAKCAQEAlrtiTEy3IzEI8jPuGXi/2C8KhNsJgyomP4XdXYwDjTyJm5u4&#xA;
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&#xA;
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&#xA;
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&#xA;
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&#xA;
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&#xA;
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&#xA;
9J1RReNa5OIWUf6ErbhNdANqlBYTqMAdXAkTzSsOtbOo15lvHH7V==&#xA;
-----END RSA PRIVATE KEY-----&#xA;" />
  </appSettings>
</configuration>

任何帮助都会很棒。谢谢大家!

更新的配置文件

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <appSettings>
    <!--This is my API Account ID GUID-->
    <add key="DS_CLIENT_ID" value="xx-xx-xx-xx-xx" />
    <!--This is my API User Name GUID-->
    <add key="DS_IMPERSONATED_USER_GUID" value="xx-xx-xx-xx-xx" />
    <add key="DS_TARGET_ACCOUNT_ID" value="FALSE" />
    <add key="DS_SIGNER_1_EMAIL" value="test@test.com" />
    <add key="DS_SIGNER_1_NAME" value="Test Name" />
    <add key="DS_CC_1_EMAIL" value="Charlie@example.com" />
    <add key="DS_CC_1_NAME" value="Charlie Copy" />
    <add key="DS_AUTH_SERVER" value="https://account-d.docusign.com"/>
    <!--This is my newly created Private Key for this example-->
    <add key="DS_PRIVATE_KEY" value="-----BEGIN RSA PRIVATE KEY-----&#xA;
<!--Several Lines Omitted-->
-----END RSA PRIVATE KEY-----&#xA;
&#xA;" />
  </appSettings>
</configuration>

1 个答案:

答案 0 :(得分:1)

是的,您输入了RSA私钥,就像在开发人员的沙盒管理工具上显示的那样。

但是,当属性值需要包含Linefeed个控制字符时,C#App.Config文件会遇到困难。

解决方案是将&#xA;附加到RSA私钥的每一行的末尾。

,当您输入私钥时,需要将这些字符添加到App.config文件中。

解决方案随附的App.config_example.txt文件显示了您需要提供的结果。

已更新

这是我使用的App.config文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
    <add key="DS_CLIENT_ID" value="xxxxxxxx-65ca-4a6e-816d-ffxxxxxxxxxx" />
    <add key="DS_IMPERSONATED_USER_GUID" value="xxxxxxxx-43f1-4184-944f-55xxxxxxxxxx" />
    <add key="DS_TARGET_ACCOUNT_ID" value="FALSE" />
    <add key="DS_SIGNER_1_EMAIL" value="larry@example.com" />
    <add key="DS_SIGNER_1_NAME" value="Larry Kluger" />
    <add key="DS_CC_1_EMAIL" value="Charlie@example.com" />
    <add key="DS_CC_1_NAME" value="Charlie Copy" />
    <add key="DS_AUTH_SERVER" value="https://account-d.docusign.com"/>
    <add key="DS_PRIVATE_KEY" value="-----BEGIN RSA PRIVATE KEY-----&#xA;
MIIEowIBAAKCAQEApfgRksDxB+rkNIsNA0ujDKT/9xZ7IFonKi9ejSCVqp6lCqZu&#xA;
B631QDSEzz3X1qfUsmBJfaydqU/YrV+vhKdd6NlP21aD+NuxHbB6i7ud9uRE1Sc9&#xA;
UGSkuXIcUYEISuR3WRnAFC64T34uEI8uIiXBJ7htbrHzU7qVHIvU0Jq6yv21wSWZ&#xA;
(Many rows are elided)
ci8nnQKBgHYyVpuxl5mLxAanH/WIuoM1NxV8STdzrRTpssbBSw+B/VPAfg3i88oL&#xA;
sJmumhoxvd6Z75BG9WS7ZYCVY+y/OsTNLvWx36UK5JIIfm57YYyqLv5LF2VyIM6j&#xA;
Es5tOkQv/IMo6jrMo9zxbVroCo5h8OIS+2Kt2dHJkM4TT4Ug97qe&#xA;
-----END RSA PRIVATE KEY-----&#xA;
&#xA;" />
</appSettings>
</configuration>