首页 > 解决方案 > DocuSign 移动文件夹需要 cookie?

问题描述

我们正在尝试编写一个流程来清理已完成的信封并将它们移至回收站。我们已经成功地进行了很多操作(获取信封、获取信封 xml、列出文件夹……),但是我们在移动操作方面遇到了麻烦。

这个简单的请求适用于邮递员执行 PUT 到https://demo.docusign.net/restapi/v2.1/accounts/{our account id}/folders/recyclebin

{"envelopeIds":["19f3922e-64bf-4f6a-32ed-3378193de617"]}

但是尝试使用文件夹 api 移动会出错

var envelopeIds = (new string[] { envelopeId }).ToList();
FoldersRequest request = new FoldersRequest(envelopeIds);
FoldersResponse response = await foldersApi.MoveEnvelopesAsync("{our account id"}, "recyclebin", request);

PARTNER_AUTHENTICATION_FAILED
指定的集成商密钥未找到或被禁用。未指定 Integrator 密钥。

所以我们认为我们会尝试使用 HttpClient 并像邮递员请求一样配置它,但我们收到了同样的错误。所以我尝试使用一个简单的 node.js 脚本并收到相同的错误。

注意:我们在 postman 和 HttpClient 中使用我们的 C# 代码生成的访问令牌。这不是身份验证问题。使用相同的“foldersApi”对象的其他调用工作得很好。

所以最后我注意到邮递员有一个像'BCSI-CS-0123456789012345'这样的cookie。如果我删除该 cookie,邮递员会在第一个请求上收到相同的错误“PARTNER_AUTHENTICATION_FAILED”并再次设置 cookie,然后第二个请求成功。

那么我怎么能在 C# 中做到这一点呢?我真的更喜欢使用 FoldersApi(似乎没有设置 cookie 的方法),而不必使用 HttpClient 并发出两个请求,因为我知道第一个请求会因为获取 cookie 而失败。顺便说一句,我正在使用 nuget 包的 4.5.2。

标签: docusignapi

解决方案


推荐阅读