从DocuSign API请求访问令牌时收到400错误的请求消息

时间:2020-05-15 11:03:31

标签: c# docusignapi

我可以通过使用链接https://developers.docusign.com/oauth-token-generator

与docusign网站生成访问令牌

但是当尝试使用c#代码在我们的系统中获取访问令牌然后获取消息时(远程服务器返回错误:(400)错误的请求。)

我遵循下面链接中提到的身份验证过程。

https://developers.docusign.com/esign-rest-api/guides/authentication/oauth2-code-grant

我可以获取验证码。我使用此身份验证代码来访问API(https://account-d.docusign.com/oauth/token)。

下面是我的代码示例

string integrationKey = "key removed";
string secretKey = "key removed";
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://account-d.docusign.com/oauth/token");
httpWebRequest.ContentType = "application/x-www-form-urlencoded";
httpWebRequest.Method = "POST";
string apiStoreConsumer =    "removed";
 httpWebRequest.Headers.Add("Authorization", "Basic " + apiStoreConsumer);
 using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
  {
   string input = "authorization_code&authorization_code= <authentication code goes here>;

   streamWriter.Write(input);
   streamWriter.Flush();
   streamWriter.Close();
 }

WebResponse response = (HttpWebResponse)httpWebRequest.GetResponse();

查询:

为什么会出现400错误? 我们是否有访问令牌的到期时间,如果是,那么需要多长时间? 身份验证代码是否针对每个请求都会更改?

请帮助我。

谢谢!

1 个答案:

答案 0 :(得分:1)

我建议您在.NET / C#中使用OAuth库。 如果您想了解如何完成此操作,请clone this repo. 问题是您需要首先获取代码,然后将其交换为令牌。如果您手动进行,则涉及两个步骤。 第一步需要您在浏览器中对用户进行身份验证,然后才能调用任何API。 在此步骤中,您需要传递集成密钥并重定向回您的URL。 重定向回后,您将收到一个代码,可以使用您讨论的API调用将代码交换为访问令牌。