微信咨询

微信咨询

13610*910*9

服务热线 7*24小时

电话咨询

明道云对接棉花果API

iamdu2025-08-21 10:42:33 浏览: 773
// 棉花果对外API签名
HTTP协议Header头部参数

X-AccessKeyId:
X-Timestamp:
X-Signature:

说明
path为API请求路径 例如:/index/corporations/accessKey
X-Timestamp = 时间戳(秒) 例如: 1736156094
X-Signature计算方式: md5(access_key_secret + '&' + timestamp + '&' + path)

这个是免cookie调用API的签名,浏览器F12就能看到对应请求接口了,MD5签名要小写,大写会签名错误

AccessKeyId和accessKeySecret需要棉花果管理员账号生成

// 引入crypto模块(明道云环境通常已内置)
var crypto = require('crypto');


function calculateMD5(str) {
  var md5Hash = crypto.createHash('md5');
  md5Hash.update(str, 'utf8'); // 明确指定编码为utf8,避免特殊字符问题
  return md5Hash.digest('hex'); // 小写哈希值,大写棉花果会签名无效
 
}

// 配置参数(根据实际信息填写)
var accessKeySecret = ''; // 你的secret
var timestamp = input.Timestamp; // 从输入获取时间戳(需确保为秒级整数)
var path = '/index/orders/get'; // 注意:仅保留路径部分,不含域名

// 拼接签名字符串(严格按照规则:secret + & + timestamp + & + path)
var signStr = accessKeySecret + '&' + timestamp + '&' + path;

// 计算签名
var signature = calculateMD5(signStr);

// 输出结果(明道云代码块需通过output返回)
output = {
  X_Signature: signature, // 签名结果,用于Header的X-Signature
  X_AccessKeyId: '', // AccessKeyId直接输出
  X_Timestamp: timestamp // 时间戳回传(确保与签名中使用的一致)
};