我在本地主机上运行了一个google cloud函数,并且我托管了一个函数,该函数应该从客户端应用程序接收json数据。当然,我正在使用Post Man进行测试。当我调用函数端点时,所有代码都会正常执行,直到我实际调用docusign-esign npm模块中的a函数为止。
该函数为createEnvelope()。我调用它并将其传递给一个apiAccountID和envelopeDefinition对象。我在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、accessToken和data包含来自前面的函数调用的数据,这些函数调用序列化数据并验证所有信息是否正确,之后它们调用上面显示的eSignFunc。
我的问题是该函数会执行并输出以下错误
DS API CALL FAILED: Error: Not Found
正如您可能已经注意到的,由于上述代码中的倒数第四行,所以将其打印出来
我的问题是:为什么我会得到Not Found。我在DocuSign开发人员文档中做了一些阅读,我发现它的意思是The Resource doesn't exist。
我只是不知道他们说的是哪种资源。我并不想从API中get一些东西,而是想创建一个新的资源
我已经交叉检查了几乎所有的东西,我发现所有的东西都是一致的。这应该是一个小问题。我只是需要一些帮助来理解发生了什么事..
谢谢
发布于 2021-08-04 15:43:04
看起来就像是这个应用程序在解释404。
很难说没有你的accountId (请不要在这里张贴),但我的第一个猜测是你的basepath有问题。有时,当从OAuth流切换到通过eSignature发送时,我们确实会看到客户基本路径没有更新,或者它指向了错误的环境。就Demo / Production的基本路径而言,它应该类似于:
演示: OAuth:https://account-d.docusign.com eSig:https://demo.docusign.net/restapi
制作: OAuth:https://account.docusign.com eSig:https://{endpoint}.docusign.net/restapi
请注意,Endpoint对应于您的帐户所在的服务器。您可以通过转到DocuSign.com >设置>应用程序和密钥来查看您需要针对哪个特定端点。
如果这不能解决问题,请继续向我发送电子邮件到matt.king@docusign.com -我们可以为您打开支持票证,并查看我们的系统日志,看看是否有什么突出的地方。
致以敬意,
哑光
https://stackoverflow.com/questions/68633533
复制相似问题