概述
API密钥是您访问爱股数据接口的唯一凭证,用于身份验证和权限控制。每个用户都可以创建多个API密钥,用于不同的应用场景。
重要提示:API密钥具有您账户的完整权限,请妥善保管,不要泄露给他人。
主要特性
- 支持创建多个API密钥
- 可设置密钥描述和过期时间
- 支持默认密钥设置
- 提供详细的调用统计
- 支持密钥的启用/禁用管理
获取API密钥
步骤一:登录账户
首先需要登录您的爱股数据账户。如果您还没有账户,请先注册。(本站采用自动注册模式您可以直接在首页进行验证码登录,可以输入手机号获取验证码,也可以输入邮箱获取验证码,获取后,点击登录,没有账号的自动注册新用户,也可以直接使用微信和QQ进行登录)
步骤二:进入API密钥管理页面
登录后,访问 API密钥管理页面 或通过用户中心菜单进入。
步骤三:创建新的API密钥
点击页面上的 "新建API密钥" 按钮
在弹出的对话框中填写密钥描述(必填)
可选择设置过期时间(留空表示永久有效)
点击 "创建" 按钮
系统将生成新的API密钥并显示在列表中
创建成功:新创建的API密钥将立即生效,您可以立即使用它来调用API接口。
步骤四:复制和使用密钥
在API密钥列表中,您可以:
- 点击密钥显示/隐藏完整内容
- 点击密钥直接复制到剪贴板
- 查看密钥的创建时间和过期时间
- 设置某个密钥为默认密钥
API密钥格式
爱股数据的API密钥采用统一格式:
sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
格式说明
- 前缀:所有密钥都以
sk-
开头 - 长度:总长度为50个字符(前缀2个字符 + 密钥48个字符)
- 字符集:使用小写字母和数字(a-z, 0-9)
- 示例:
sk-a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6
注意:API密钥区分大小写,请确保完整复制,不要遗漏任何字符。
API密钥使用方法
在调用爱股数据API时,您可以通过以下几种方式传递API密钥:
方法一:HTTP Header(推荐)
Authorization: Bearer sk-your-api-key-here
# 或者
X-API-KEY: sk-your-api-key-here
方法二:URL参数
GET /api/endpoint?token=sk-your-api-key-here
方法三:POST请求体
# JSON格式
{
"token": "sk-your-api-key-here",
"other_params": "value"
}
# 表单格式
token=sk-your-api-key-here&other_params=value
推荐使用HTTP Header方式:这种方式更安全,密钥不会出现在URL日志中,也不会被浏览器缓存。
代码示例
- Python
- JavaScript
- PHP
- cURL
import requests
# 设置API密钥
api_key = "sk-your-api-key-here"
base_url = "https://www.agushuju.com"
# 方法1:使用Authorization Header
headers = {
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
}
response = requests.get(f"{base_url}/api/stock/basic", headers=headers)
print(response.json())
# 方法2:使用X-API-KEY Header
headers = {
"X-API-KEY": api_key,
"Content-Type": "application/json"
}
response = requests.get(f"{base_url}/api/stock/basic", headers=headers)
print(response.json())
# 方法3:使用URL参数
response = requests.get(f"{base_url}/api/stock/basic?token={api_key}")
print(response.json())
// 使用fetch API
const apiKey = "sk-your-api-key-here";
const baseUrl = "https://www.agushuju.com";
// 方法1:使用Authorization Header
fetch(`${baseUrl}/api/stock/basic`, {
method: 'GET',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data));
// 方法2:使用X-API-KEY Header
fetch(`${baseUrl}/api/stock/basic`, {
method: 'GET',
headers: {
'X-API-KEY': apiKey,
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => console.log(data));
// 使用axios
const axios = require('axios');
axios.get(`${baseUrl}/api/stock/basic`, {
headers: {
'Authorization': `Bearer ${apiKey}`
}
})
.then(response => console.log(response.data));
get($baseUrl . "/api/stock/basic", [
'headers' => [
'Authorization' => 'Bearer ' . $apiKey
]
]);
echo $response->getBody();
?>
# 方法1:使用Authorization Header
curl -X GET "https://www.agushuju.com/api/stock/basic" \
-H "Authorization: Bearer sk-your-api-key-here" \
-H "Content-Type: application/json"
# 方法2:使用X-API-KEY Header
curl -X GET "https://www.agushuju.com/api/stock/basic" \
-H "X-API-KEY: sk-your-api-key-here" \
-H "Content-Type: application/json"
# 方法3:使用URL参数
curl -X GET "https://www.agushuju.com/api/stock/basic?token=sk-your-api-key-here"
# POST请求示例
curl -X POST "https://www.agushuju.com/api/stock/basic" \
-H "Authorization: Bearer sk-your-api-key-here" \
-H "Content-Type: application/json" \
-d '{"param1": "value1", "param2": "value2"}'
安全建议
- API密钥具有您账户的完整权限,请妥善保管
- 不要在代码中硬编码API密钥
- 不要将API密钥提交到版本控制系统
- 定期轮换API密钥
- 为不同的应用创建不同的API密钥
最佳实践
- 环境变量:将API密钥存储在环境变量中
- 配置文件:使用配置文件存储,并确保文件权限安全
- 密钥轮换:定期更换API密钥,特别是发现泄露时
- 权限最小化:为不同应用创建专门的API密钥
- 监控使用:定期检查API调用统计,发现异常及时处理
环境变量示例
# .env文件
AGUSHUJU_API_KEY=sk-your-api-key-here
# Python
import os
api_key = os.getenv('AGUSHUJU_API_KEY')
# Node.js
const apiKey = process.env.AGUSHUJU_API_KEY;
# PHP
$apiKey = $_ENV['AGUSHUJU_API_KEY'];
常见问题
Q: API密钥无效怎么办?
A: 请检查以下几点:
- 确认API密钥格式正确(以sk-开头,总长度50字符)
- 检查密钥是否已过期
- 确认密钥未被删除或禁用
- 验证传递方式是否正确
Q: 如何查看API调用统计?
A: 在API密钥管理页面,点击对应密钥的"查看调用数"按钮,可以查看详细的调用统计信息。
Q: 可以创建多少个API密钥?
A: 目前没有限制,您可以根据需要创建多个API密钥。
Q: 默认密钥有什么特殊之处?
A: 默认密钥是永久有效的,不能被删除,主要用于系统自动调用。每个用户只能有一个默认密钥。
Q: API密钥泄露了怎么办?
A: 立即删除泄露的密钥,并创建新的密钥。同时检查调用统计,确认是否有异常调用。
Q: 支持哪些HTTP方法?
A: 支持GET、POST、PUT、DELETE等标准HTTP方法,具体取决于接口定义。