{{ 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
旧密钥将立即失效
IP 白名单
限制 API 调用来源
在线测试
响应结果
{{ testResult || '// 点击"发送请求"查看结果' }}
认证方式
请求头格式
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);
最近调用
导出日志