You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

所有DocuSign接口调用均返回"Invalid UserId"错误的原因排查

解决DocuSign接口调用返回"Invalid UserId."的问题

以下是针对你遇到的问题的具体修复方案:

核心问题:未配置正确的API BasePath

虽然你成功获取了UserInfo,但DocuSign每个账号都有专属的API端点,必须将客户端的BasePath设置为目标账号对应的地址,否则会导致身份验证异常。

修复步骤

  1. 设置正确的BasePath
    在获取UserInfo后,添加代码设置客户端的BasePath:
var docusignClient = new DocuSignClient();
DocuSign.eSign.Client.Auth.OAuth.OAuthToken accessToken = docusignClient.RequestJWTUserToken(
    "client id",
    "userid",
    "account.docusign.com",
    System.IO.File.ReadAllBytes("privateKey.txt"),
    expiresInHours: 1,
    new List<string> { "signature", "impersonation" }
);

// 获取用户信息后,设置正确的BasePath
DocuSign.eSign.Client.Auth.OAuth.UserInfo userInfo = docusignClient.GetUserInfo(accessToken.access_token);
var targetAccount = userInfo.Accounts[0];
// 拼接账号专属的API路径
docusignClient.SetBasePath($"{targetAccount.BaseUri}/restapi");

// 后续接口调用
var envelopesApi = new EnvelopesApi(docusignClient);
// ... 你的信封创建代码
  1. 确认用户ID的正确性
    确保传入RequestJWTUserToken的userid是用户的唯一GUID,而非邮箱地址或账号ID。该GUID可在DocuSign管理控制台的用户详情页面查看。

  2. 验证账号权限

  • 确认JWT授权的用户是目标账号的活跃成员
  • 确保该用户拥有API访问权限(在账号设置的用户权限面板中开启)
  1. 修正NuGet包引用
    你的csproj中包引用名称有误,官方包名称是DocuSign.eSign,而非DocuSign.eSign.dll,修正后如下:
<ItemGroup>
  <PackageReference Include="DocuSign.eSign" Version="6.2.0" />
</ItemGroup>

内容的提问来源于stack exchange,提问作者Jordan Wilcken

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 14:47:37