必须先获取360智脑API Key和Secret Key,再通过axios发送带X-Signature签名的POST请求调用/chat/completions接口;签名需用API Key、时间戳、请求体SHA256哈希拼接后经HMAC-SHA256加密生成。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Node.js项目中调用360智脑API完成文本生成、问答等任务,必须先获取有效API Key,并通过HTTP请求发送符合要求的JSON载荷,否则会返回401错误或空响应。
注册并获取360智脑API Key
访问360智脑开放平台,使用360账号登录→进入「控制台」→点击「API管理」→「创建应用」→填写应用名称和描述→提交后,在应用详情页复制「API Key」和「Secret Key」。
【Secret Key仅显示一次,关闭页面后无法再次查看,务必立即保存】
安装依赖并初始化SDK
在项目根目录执行:npm install axios。
新建qihoo-client.js文件,引入axios并定义基础配置:
```js
const axios = require('axios');
const API_BASE = 'https://api.360.cn/v1';
const API_KEY = 'your_api_key_here'; // 替换为真实值
const SECRET_KEY = 'your_secret_key_here'; // 替换为真实值
```
构造带签名的请求头
360智脑API要求所有请求携带X-Signature头部,该值由API Key、Secret Key、时间戳和请求体SHA256哈希拼接后HMAC-SHA256加密生成。
方法一:手动计算签名(推荐用于调试)
第一步:生成13位毫秒级时间戳,存入变量timestamp;
第二步:将请求体对象JSON.stringify()后取SHA256哈希(注意:空格、换行、键序必须严格一致,建议用JSON.stringify(body, null, 0));
第三步:拼接字符串apiKey + timestamp + bodyHash;
第四步:用crypto.createHmac('sha256', SECRET_KEY).update(concatStr).digest('hex')生成签名。
方法二:直接复用官方Node.js示例中的generateSignature函数(需自行提取逻辑,不依赖SDK包)。
发送对话请求
构造请求体,调用/chat/completions接口:
```js
const payload = {
model: '360GPT_S2_V9',
messages: [
{ role: 'user', content: '你好,请用中文简单介绍你自己' }
],
temperature: 0.7
};
```
发起POST请求,设置Headers:
```js
const timestamp = Date.now().toString();
const bodyHash = crypto.createHash('sha256').update(JSON.stringify(payload, null, 0)).digest('hex');
const signature = crypto.createHmac('sha256', SECRET_KEY)
.update(`${API_KEY}${timestamp}${bodyHash}`)
.digest('hex');
axios.post(`${API_BASE}/chat/completions`, payload, {
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${API_KEY}`,
'X-Timestamp': timestamp,
'X-Signature': signature
}
})
.then(res => console.log(res.data.choices[0].message.content))
.catch(err => console.error(err.response?.data || err.message));
```


















