首页 > 解决方案 > 使用 Google Apps 脚本获取 Docusign 的访问令牌

问题描述

我正在尝试使用 Google Apps 脚本获取访问令牌。

参考:https ://developers.docusign.com/platform/auth/jwt/jwt-get-token/

使用 Postman,我可以通过使用此 URL 发布请求来获取 ACCESS TOKEN:https://account-d.docusign.com/oauth/token 以及正文中的这两个字段:

如何在 Apps 脚本中复制 tis?
经过无数小时的反复试验,我仍然收到此错误:{"error":"invalid_grant","error_description":"unsupported_grant_type"}

剧本:

function obtainAccessToken(){
  const JWT = MY_JSON_WEB_TOKEN;

  const URL = 'https://account-d.docusign.com/oauth/token';

  const PARAMS = {
    "muteHttpExceptions": true,
    "method": "POST",
    "contentType": "application/json",
    "payload": {
      "body":{
        "grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer",
        "assertion": JWT
      }
    } 
  };

  return UrlFetchApp.fetch(URL, PARAMS);
}

标签: google-apps-scriptdocusignapi

解决方案


这是正确的功能:

function obtainAccessToken(){
  const JWT = MY_JSON_WEB_TOKEN;

  const URL = 'https://account-d.docusign.com/oauth/token';

  const PARAMS = {
    "method": "POST",
    "headers":{
      "Accept": "application/json",
      "contentType": "application/x-www-form-urlencoded"
    },
    "payload": {
      "grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer",
      "assertion": JWT
    } 
  };

  return UrlFetchApp.fetch(URL, PARAMS);
}

推荐阅读