我正在尝试使用eSign SDK为用户上传签名。我已经引用了this链接来为用户创建签名。下面是我的C#代码:
var usersList = usersApi.List(Constants.accountId);
ApiClient apiClient1 = new ApiClient(Constants.basePath);
apiClient1.Configuration.AddDefaultHeader("Authorization", "Bearer " + Constants.userAccessToken);
UsersApi usersApi1 = new UsersApi(apiClient1.Configuration);
if (usersList != null && usersList.Users != null && usersList.Users.Any())
{
var activeUser = usersList.Users.FirstOrDefault(x => x.Email == data["UserEmail"] && x.UserStatus.Equals("active", comparisonType: StringComparison.CurrentCultureIgnoreCase));
if (activeUser != null)
{
UserSignature userSignature = new UserSignature()
{
IsDefault = "true",
SignatureInitials = "TU",
SignatureName = "Test User",
ImageBase64 = Convert.ToBase64String(ReadContent(Constants.eSignName))
};
List<UserSignature> userSignatures = new List<UserSignature>() { userSignature };
UserSignaturesInformation userSignaturesInformation = new UserSignaturesInformation()
{
UserSignatures = userSignatures
};
//Create Signature
var signResult = usersApi1.CreateSignatures(Constants.accountId, activeUser.UserId, userSignaturesInformation);
}
}
在此调用之后,将创建签名。但是,用户的签名图像(传入ImageBase64
参数)不会添加到创建的签名中。我在这里使用的访问令牌来自用户配置文件中的DocuSign令牌生成器工具。在确定该请求出了什么问题时需要帮助。
答案 0 :(得分:0)
为了代表其他用户采取措施(在您的情况下,您希望为其他用户生成并上传签名图像),您必须在使用JWT进行身份验证时模拟它们。您必须将其用户ID(GUID)作为API调用的一部分,并且用户必须同意该应用至少代表他们进行一次调用。