“”错误代码“:” UNSPECIFIED_ERROR“,”消息“:”非静态方法需要目标。

时间:2019-10-10 05:25:09

标签: google-apps-script docusignapi

我正在尝试使用来自AppScript的电子签名发布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方法,并将对象作为有效负载传递,但仍然遇到问题。
要求某人对此进行调查并对此有所了解。我在这里呆了几天。

1 个答案:

答案 0 :(得分:0)

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

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

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