使用PHP cURL调用DocuSign API遇400错误:需X-DocuSign-AppToken请求头
解决DocuSign API获取账户信息时的X-DocuSign-AppToken错误
这个错误的核心原因是你的集成密钥(Integration Key)被配置为强制要求应用令牌(App Token)——虽然常规官方文档未提及,但部分安全配置场景下会触发这个校验规则。以下是具体解决步骤:
步骤1:获取你的App Token
登录DocuSign开发者控制台,找到对应集成密钥的应用:
- 进入应用设置页面(通常在「Apps and Keys」菜单下)
- 在「App Settings」或「Security」标签中找到「App Token」选项,复制生成的令牌(未生成则点击生成按钮)
步骤2:修改请求头添加App Token
在docusign_get_account_info.php的cURL请求头中加入X-DocuSign-AppToken字段,修改后的代码如下:
<?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); session_start(); if (!isset($_SESSION['access_token'])) { echo 'Error: Access token not found'; exit; } $access_token = $_SESSION['access_token']; $app_token = 'YOUR_APP_TOKEN'; // 替换为你的App Token // DocuSign API endpoint $url = 'https://demo.docusign.net/restapi/v2.1/accounts'; // Initialize cURL $ch = curl_init($url); // Set cURL options curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( "Authorization: Bearer $access_token", "Content-Type: application/json", "X-DocuSign-AppToken: $app_token" // 新增的App Token请求头 )); // Execute cURL request $response = curl_exec($ch); // Check for cURL errors if (curl_errno($ch)) { echo 'Error during API call: ' . curl_error($ch); } else { // Get HTTP response code $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($http_code != 200) { echo 'Error during API call: HTTP ' . $http_code . ' - ' . $response; } else { // Decode and display the response $data = json_decode($response, true); echo '<pre>'; print_r($data); echo '</pre>'; } } // Close cURL session curl_close($ch); ?>
可选:关闭强制App Token要求
如果不需要额外的令牌校验,可以在DocuSign控制台修改应用配置:
- 进入对应应用的设置页面
- 找到「Require App Token」(或类似名称)的选项,取消勾选并保存
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

