如何使用`DocuSign.eSign.Client.ApiClient.RequestJWTApplicationToken`

How to use `DocuSign.eSign.Client.ApiClient.RequestJWTApplicationToken`

我正在尝试使用方法 RequestJWTApplicationToken 来验证和创建信封,如下面的代码:


private OAuthToken _authToken;
protected static ApiClient _apiClient { get; private set; }


public string GetToken()
{
    _authToken = _apiClient.RequestJWTApplicationToken(
        "<ClientId>",
        "<AuthServer>",
        "<PrivateKeyBytes>",
        1,
        "<Scopes>");
}

public void SendDocumentForSignature()
{
    var envelope = MakeEnvelope("my_email@domain.com", "my name");
    
    var token = GetToken();

    var apiClient = new ApiClient("https://demo.docusign.net/restapi");

    apiClient.Configuration.DefaultHeader.Add("Authorization", "Bearer " + token);
    var envelopesApi = new EnvelopesApi(apiClient);
    EnvelopeSummary results = envelopesApi.CreateEnvelope("<AccountId>", envelope);

    string envelopeId = results.EnvelopeId;
}

但是我收到了下面的异常,在这里 envelopesApi.CreateEnvelope("<AccountId>", envelope);:

调用 CreateEnvelope 时出错:{"errorCode":"AUTHORIZATION_INVALID_TOKEN","message":"提供的访问令牌已过期、撤销或格式错误。系统应用程序身份验证失败。"

我没有在文档或“快速入门”项目中找到任何关于 RequestJWTApplicationToken 方法的用例。

RequestJWTApplicationToken只能与极少数与组织管理相关的DocuSignAPI方法一起使用。所有电子签名 REST API 方法都需要与帐户中的用户关联的访问令牌。

要使用 OAuth JWT 流程创建此类访问令牌,请使用 C# RequestJWTUserToken 方法。

某些用例的关联用户是“系统用户”,例如“finance@example.com”对于其他用例,用户将是特定的命名用户。