{{ menuTitles[activeMenu] }}

配额使用情况 申请提升配额
今日调用
{{ quota.today.toLocaleString() }}
限额 {{ quota.dailyLimit.toLocaleString() }} 次
本月调用
{{ quota.month.toLocaleString() }}
限额 {{ quota.monthlyLimit.toLocaleString() }} 次
剩余配额
{{ (quota.monthlyLimit - quota.month).toLocaleString() }}
本月剩余
合同到期
{{ quota.daysLeft }}
天后到期
快速开始
POST /api/partner/search 论文检索 需认证
POST /api/partner/oa/detect OA 检测 需认证
POST /api/partner/oa/batch 批量 OA 检测 需认证
当前 API Key {{ partnerInfo.status === 'active' ? '✅ 正常' : '⚠️ 已禁用' }}
API Key ID
{{ partnerInfo.apiKey }}
Secret Key
{{ showSecret ? partnerInfo.secretKey : '••••••••••••••••••••••••••••••••' }}
安全设置
Secret Key 仅显示一次,请妥善保管。不要将密钥提交到公开代码仓库。
重新生成 Secret Key
旧密钥将立即失效
重新生成
IP 白名单
限制 API 调用来源
配置
在线测试
发送请求
响应结果
{{ testResult || '// 点击"发送请求"查看结果' }}
认证方式
所有接口(除健康检查外)需要携带 API Key + HMAC 签名认证
请求头格式
X-Api-Key: partner_abc123xyz
X-Timestamp: 1700000000
X-Signature: a1b2c3d4e5f6...
Content-Type: application/json
签名算法
sign_str = Method + Path + Timestamp + Body
signature = HMAC-SHA256(Secret_Key, sign_str)
代码示例
import hmac
import hashlib
import time
import requests

API_KEY = "{{ partnerInfo.apiKey }}"
SECRET_KEY = "your_secret_key"

def generate_signature(method, path, timestamp, body=""):
    sign_str = f"{method}{path}{timestamp}{body}"
    return hmac.new(
        SECRET_KEY.encode(),
        sign_str.encode(),
        hashlib.sha256
    ).hexdigest()

# 发送请求
timestamp = str(int(time.time()))
signature = generate_signature("POST", "/api/partner/search", timestamp)

response = requests.post(
    "{{ apiBase }}/api/partner/search",
    headers={
        "X-Api-Key": API_KEY,
        "X-Timestamp": timestamp,
        "X-Signature": signature,
        "Content-Type": "application/json"
    },
    json={"query": "machine learning", "limit": 10}
)
# 计算签名
sign_str="POST/api/partner/search1700000000{\"query\":\"ml\"}"
signature=$(echo -n "$sign_str" | openssl dgst -sha256 -hmac "$SECRET_KEY" | awk '{print $2}')

# 发送请求
curl -X POST "{{ apiBase }}/api/partner/search" \
  -H "X-Api-Key: {{ partnerInfo.apiKey }}" \
  -H "X-Timestamp: 1700000000" \
  -H "X-Signature: $signature" \
  -H "Content-Type: application/json" \
  -d '{"query":"machine learning","limit":10}'
const crypto = require('crypto');

const API_KEY = '{{ partnerInfo.apiKey }}';
const SECRET_KEY = 'your_secret_key';

function generateSignature(method, path, timestamp, body = '') {
  const signStr = `${method}${path}${timestamp}${body}`;
  return crypto
    .createHmac('sha256', SECRET_KEY)
    .update(signStr)
    .digest('hex');
}

// 发送请求
const timestamp = Math.floor(Date.now() / 1000).toString();
const signature = generateSignature('POST', '/api/partner/search', timestamp);
最近调用 导出日志