为什么当我使用 docusign-esign npm 包调用 DocuSign API 时出现"Not Found"错误?



我有一个谷歌云功能在我的本地主机上运行,我已经托管了一个功能,应该从客户端应用程序接收json数据。我使用Post Man进行测试。当我调用函数端点时,所有的代码都执行得很好,直到我真正调用docusign-esignnpm模块中的a函数。

函数为createEnvelope()。我调用它并传递给它一个apiAccountIDenvelopeDefinition对象。我在try块中调用该函数,它捕获了一个错误。它返回的错误是Not Found

我的代码如下所示:

// function to call the e-signature api
const eSignFunc = async (basePath, accessToken, data) => {
let dsApiClient = new docusign.ApiClient();
dsApiClient.setBasePath(basePath);
dsApiClient.addDefaultHeader("Authorization", "Bearer " + accessToken);
let envelopesApi = new docusign.EnvelopesApi(dsApiClient);
// Step 1. Make the envelope requestuest body
try {
let envelope = makeEnvelope(data);
// Step 2. call Envelopes::create API method
// Exceptions will be caught by the calling function
let results = await envelopesApi.createEnvelope(dsConfig.apiAccountId, {
envelopeDefinition: envelope,
});
let envelopeId = results.envelopeId;
console.log(`Envelope was created. EnvelopeId ${envelopeId}`);
if (results.status == "sent") {
return true;
} else {
return false;
}
} catch (error) {
console.log("DS API CALL FAILED: " + error);
return false;
}
};

参数basePath,accessTokendata包含前面函数调用的数据,这些函数调用序列化数据并验证所有信息是否正确,然后调用上面所示的eSignFunc

我的问题是函数执行并输出以下错误

DS API CALL FAILED: Error: Not Found

你可能已经注意到它被打印出来是因为上面代码的最后第四行

我的问题是:为什么我得到Not Found。我在DocuSign开发人员文档中做了一些阅读,我发现这意味着The Resource doesn't exist.

我就是不知道他们在说什么资源。我不是想从API中获取get,而是想创建一个新的资源

我已经交叉检查了几乎所有的东西,我看到所有的东西都是一致的。这应该是一个小问题。我只是需要一些帮助来了解发生了什么事。

谢谢

看起来就像是应用程序在解释404。

没有你的accountId很难说(请不要把它贴在这里),但我的第一个猜测是你的基础路径有问题。有时我们确实看到客户在从OAuth流切换到通过eSignature发送时,基路径没有更新或指向错误的环境。就Demo/Production的基本路径而言,它应该类似于:

演示:OAuth: https://account-d.docusign.comeSig: https://demo.docusign.net/restapi

生产:OAuth: https://account.docusign.comeSig: https://{端点}.docusign.net/restapi

注意,Endpoint对应于您的帐户所在的服务器。你可以通过DocuSign.com查看你需要瞄准的特定端点。设置在Apps and Keys.

如果这不能帮助解决问题,请继续给我发电子邮件到matt.king@docusign.com——我们可以为你打开一个支持票,并查看我们的系统日志,看看是否有什么突出的。

问候,马特

最新更新