国学API
  1. 国学API
国学API
  • 国学API
    • 接入前准备
    • 接口签名
    • 个人成熟度测试
      GET
    • 个人成熟度测试题库
      GET
    • 抑郁症自测量表题库
      GET
    • 马斯洛安全感题库
      GET
    • 抑郁症自测量表
      GET
    • 马斯洛安全感
      GET
    • 自我价值题库
      GET
    • 自我价值
      GET
    • 焦虑症自评量表题库
      GET
    • 焦虑症自评量表
      GET
    • 标准情商测试题库
      GET
    • 标准情商测试
      GET
    • 双向情感障碍自评量表题库
      GET
    • 双向情感障碍自评量表
      GET
    • 测测你的人际魅力指数题库
      GET
    • 测测你的人际魅力指数
      GET
    • 野心测试题库
      GET
    • 野心测试
      GET
    • MBTI题库
      GET
    • MBTI报告
      GET
    • 性格色彩题库
      GET
    • 性格色彩报告
      GET
    • 你的人设报告
      GET
    • 八字个人情商
      GET
    • 择吉日
      GET
    • 紫微斗数生辰详批
      GET
    • 八字合婚
      GET
    • 命定桃花
      GET
    • 紫微斗数事业详批
      GET
    • 紫微斗数龙年运势
      GET
    • 手机号码测吉凶
      GET
    • 八字一生财运
      GET
    • 正缘画像
      GET
    • 十二年危机
      GET
    • 恋爱解析
      GET
    • 数字能量分析手机号
      GET
    • 观音灵签
      GET
    • 有事问卦
      GET
    • 决策小奇牌题库
      GET
    • 决策小奇牌
      GET
    • 黄大仙灵签
      GET
    • 月老灵签
      GET
    • 关帝灵签
      GET
    • 妈祖灵签
      GET
    • 人际交往能力检测题库
      GET
    • 人际交往能力检测
      GET
    • 孤独感测试题库
      GET
    • 孤独感测试
      GET
    • 亲子关系自查题库
      GET
    • 亲子关系自查
      GET
    • 你对另一半满意吗?题库
      GET
    • 你对另一半满意吗?
      GET
    • 心理素质测试题库
      GET
    • 心理素质测试
      GET
    • 你的性格内向还是外向题库
      GET
    • 你的性格内向还是外向
      GET
    • 你有多缺爱
      GET
    • 你有多缺爱题库
      GET
    • 测你性格最真实的一面
      GET
    • 测你性格最真实的一面题库
      GET
    • 你拖延到什么程度了?
      GET
    • 你拖延到什么程度了题库
      GET
    • 家庭教养方式测评问卷
      GET
    • 家庭教养方式测评问卷题库
      GET
    • 一生有几段婚姻
      GET
    • 八字基本命盘
      GET
    • 八字专业命盘
      GET
    • 称骨算命
      GET
    • 性情解析
      GET
    • 恋爱复合
      GET
    • 你给人的第一印象如何题库
      GET
    • 你给人的第一印象如何
      GET
    • 梅花易数
      GET
    • 三世演禽
      GET
    • 一生有多少横财
      GET
    • 富贵贫贱
      GET
    • 用神
      GET
  1. 国学API

接口签名

API授权验证#

公共参数#

参数必填说明
appKeyYes创建账户时生成的AppKey
signatureYes请求参数md5值,生成规则见下文
timestampYes请求时间戳(UNIX 时间戳),单位:毫秒  2024/01/01 00:00:00 -> 1704038400000 注意:时间戳至发送请求的过程需要小于10秒
注意:

signature数字签名生成规则#

1.将所有请求参数和创建账户时生成的appSecret按照自然顺序排序(A~Z升序)
例如接口除公共参数之外需要提交name和 age两个参数,首先按字母自然顺序进行排序,得到的顺序如下:
age=42
appKey=100088
name=小龙
appSecret=544bc1cfce21xz04fff65477ca7a0d17
timestamp=1704038400000
2.创建签名字符串,以"key=value" + "&"(连接符)+ "key=value" 的方式连接所有参数
age=42&appKey=100088&name=小龙&appSecret=544bc1cfce21xz04fff65477ca7a0d17&timestamp=1704038400000
3.创建签名,使用MD5算法加密步骤2创建的字符串 
signature = MD5("age=42&appKey=100088&name=小龙&appSecret=544bc1cfce21xz04fff65477ca7a0d17&timestamp=1704038400000")
signature = 1b34047c8ae64fbb7beefb6c2247d814
注意
appSecret为商户密钥,仅用于签名,请勿将appSecret明文暴露在请求参数中。

代码示例#

Java
JavaScript
PHP
    <?php
    
    function generateSignature($params, $secret) {
      // 将密钥(appSecret)添加到参数中
      $params['appSecret'] = $secret;
      
      // 按键名排序
      ksort($params);
    
      // 构建签名字符串
      $signatureBase = http_build_query($params, '', '&');
    
      // 使用MD5加密
      $signature = md5($signatureBase);
      return $signature;
    }
    
    // 示例参数
    $params = [
      'name' => '小龙',
      'age' => '42',
      'timestamp' => '1704038400000',
      'appKey' => '100088'
    ];
    
    // 生成数字签名
    $secret = '544bc1cfce21xz04fff65477ca7a0d17';
    $signature = generateSignature($params, $secret);
    // appSecret为商户密钥,签名后需移除,不做为参数提交
    unset($params['appSecret']);
    echo "Generated Signature: " . $signature;
    ?>
    
Python
    import hashlib
    from collections import OrderedDict
    
    def generate_signature(params, secret):
        # 将密钥(appSecret)添加到参数中
        params['appSecret'] = secret
        
        # 按键名排序
        sorted_params = OrderedDict(sorted(params.items()))
    
        # 构建签名字符串
        signature_base = '&'.join(f"{key}={value}" for key, value in sorted_params.items())
        
        # 使用MD5加密
        signature = hashlib.md5(signature_base.encode('utf-8')).hexdigest()
        return signature
    
    # 示例参数
    params = {
        'name': '小龙',
        'age': '42',
        'timestamp': '1704038400000',
        'appKey': '100088'
    }
    
    # 生成数字签名
    secret = '544bc1cfce21xz04fff65477ca7a0d17'
    signature = generate_signature(params, secret)
    // appSecret为商户密钥,签名后需移除,不做为参数提交
    del params['appSecret']
    print("Generated Signature:", signature)
Golang
    package main
    
    import (
    	"crypto/md5"
    	"encoding/hex"
    	"fmt"
    	"sort"
    	"strings"
    )
    
    func generateSignature(params map[string]string, secret string) string {
    	// 将密钥(appSecret)添加到参数中
    	params["appSecret"] = secret
    
    	// 获取所有键,并按自然顺序排序
    	keys := make([]string, 0, len(params))
    	for k := range params {
    		keys = append(keys, k)
    	}
    	sort.Strings(keys)
    
    	// 构建签名字符串
    	var signatureBase strings.Builder
    	for _, k := range keys {
    		signatureBase.WriteString(k)
    		signatureBase.WriteString("=")
    		signatureBase.WriteString(params[k])
    		signatureBase.WriteString("&")
    	}
    
    	// 移除最后一个"&"
    	signatureStr := signatureBase.String()
    	signatureStr = signatureStr[:len(signatureStr)-1]
    
    	// 使用MD5加密
    	hasher := md5.New()
    	hasher.Write([]byte(signatureStr))
    	signature := hex.EncodeToString(hasher.Sum(nil))
    	return signature
    }
    
    func main() {
    	// 示例参数
    	params := map[string]string{
    		"name":      "小龙",
    		"age":       "42",
    		"timestamp": "1704038400000",
    		"appKey":    "100088",
    	}
    
    	// 生成数字签名
    	secret := "544bc1cfce21xz04fff65477ca7a0d17"
    	signature := generateSignature(params, secret)
        // appSecret为商户密钥,签名后需移除,不做为参数提交
        delete(params,"appSecret")
    	fmt.Println("Generated Signature:", signature)
    }

公共响应状态码#

状态码状态说明详细说明
10000OK操作成功
20000WARN服务错误
20001SERVICE_STATUS_WARN服务错误服务未开启,请联系管理员
20002IP_UNAUTHORIZEDip白名单校验错误ip地址未授权,请检查ip白名单配置
30000FAIL操作失败
30001BALANCE_DEFAULTED操作失败账户余额不足
40000PARAM_ERROR参数错误
40001MISS_PARAM缺少参数
40001MISS_SIGNATURE缺少参数缺少签名
40002INVALID_SIGNATURE非法参数无效签名
40005API_LIMIT_EXCEEDSAPI调用频率超限频率异常,请稍后再试
40006USER_FORBIDDEN异常用户用户信息错误,请联系管理员
上一页
接入前准备
下一页
个人成熟度测试
Built with