首页 > 解决方案 > "errorCode":"UNSPECIFIED_ERROR","message":"非静态方法需要一个目标。"

问题描述

我正在尝试使用来自 AppScript 的 E-signature post API 创建一个信封。我能够成功验证和调用其他 Get API,例如信封状态和所有信封列表。但是对于这个 Post API,我面临以下错误。

"errorCode":"UNSPECIFIED_ERROR",
"message":"Non-static method requires a target."

这是我正在传递的对象

var createEnvelopeObj = 
{
  "documents": [
    {
      "documentBase64": "JVBERi0----------DI0NGItMThmMzAtNS41LjEzLVNOQVBTSE9UCnN0YXJ0eHJlZgoxOTY2MDcKJSVFT0YK",
      "documentId": "1323457",
      "fileExtension": ".pdf",
      "name": "sampledoc"
    }
  ],
  "emailSubject": "Please sign below Document ref: G654sfd238",
  "recipients": {
    "signers": [
      {
        "clientUserId": "xxxx@gmail.com",
        "email": "xxxx@dddd.com",
        "name": "xxxx",
        "recipientId": "124",
        "routingOrder": "1"
      }
    ]
  },
  "status": "sent"
};

下面是带有上述对象的 API 调用

function DocusignPost(createEnvelopeObj){
var options = {
    headers: {Authorization: 'Bearer eyJ0eXAiOiJNVCIsImFsZyI6IlJTMjU2Iiwia2lkIjoiNjgxO___xxxxx_VKdnH4FHUtI80s5xtZ9tusnP1DmYw '
    },
    'method' : 'post',
    'contentType': 'application/json',
    'payload' : JSON.stringify(createEnvelopeObj),
    'muteHttpExceptions': true};
try{
  var response = UrlFetchApp.fetch("https://demo.docusign.net/restapi/v2.1/accounts/xxxxxxx/envelopes", options );

  var postresponce = JSON.parse(response);
  Logger.log("postresponce : " + JSON.stringify(postresponce));
  return postresponce;}catch(exp){
Logger.log(exp);  }}

我已经提到了这两个 57258880、35047127,但我使用最新的 Auth 方法并将对象作为有效负载传递,但仍然面临问题。
请求某人对此进行调查并对此有所了解。我在这里被困了几天。

标签: google-apps-scriptdocusignapi

解决方案


我在您的 JSON 中没有看到任何错误。因此,我建议的下一步是从 DocuSign 获取 API 跟踪,以准确查看从 DocuSign 接收到的内容。

请参阅https://support.docusign.com/en/guides/ndse-user-guide-api-request-logging

在对 PDF 文件进行 base64 编码之前,您还应该仔细检查您是如何阅读的。PDF 文件(几乎总是)是二进制文件,因此您需要使用二进制清理方法来读取它们。


推荐阅读