NodeJS后端如何设置Bearer Token调用第三方API获取数据?
在Node.js后端中设置Bearer Token调用第三方接口的方法
嘿,这个问题我熟!要调用这个要求Bearer Token验证的第三方接口,核心是把Token放到HTTP请求的Authorization请求头里,格式是固定的:Bearer <你的Token值>。下面给你用Node.js里最常用的两个HTTP库举例子,你可以直接抄思路~
方法1:用Axios(最流行的HTTP客户端)
如果你的项目还没装Axios,先通过命令行安装:
npm install axios
然后在你的后端代码里这么写:
const axios = require('axios'); async function fetchEventData() { try { // 建议不要硬编码Token,用环境变量管理更安全(后面会讲) const token = '71D55F6907509'; const apiUrl = 'https://evoDMSTDev/api/api_event_all.php'; const response = await axios.get(apiUrl, { headers: { // 关键就在这行!把Bearer Token放到Authorization头里 'Authorization': `Bearer ${token}` } }); // 拿到数据后你就可以在后端处理、存储或者返回给前端了 console.log('接口返回的数据:', response.data); return response.data; } catch (error) { console.error('调用接口出错:', error.response?.data || error.message); throw error; } } // 调用函数发起请求 fetchEventData();
方法2:用Node-fetch(原生风格,Node.js 18+自带)
如果你的Node.js版本是18及以上,不需要额外安装;如果是更低版本,先安装依赖:
npm install node-fetch
代码示例:
// Node.js 18+可直接用全局fetch,低版本需要手动导入:const fetch = require('node-fetch'); async function fetchEventData() { try { const token = '71D55F6907509'; const apiUrl = 'https://evoDMSTDev/api/api_event_all.php'; const response = await fetch(apiUrl, { method: 'GET', // 如果接口要求POST请求,这里改成POST即可 headers: { 'Authorization': `Bearer ${token}`, // 如果接口要求JSON格式的请求体,可添加这行:'Content-Type': 'application/json' } }); if (!response.ok) { throw new Error(`接口请求失败,状态码: ${response.status}`); } const data = await response.json(); // 解析返回的JSON数据 console.log('接口返回的数据:', data); return data; } catch (error) { console.error('调用接口出错:', error.message); throw error; } } fetchEventData();
额外的最佳实践
- 不要硬编码Token:建议用环境变量管理敏感信息,比如借助
dotenv包:- 安装dotenv:
npm install dotenv - 在项目根目录创建
.env文件,写入API_TOKEN=71D55F6907509 - 在代码开头添加
require('dotenv').config();,之后用process.env.API_TOKEN获取Token
- 安装dotenv:
- 处理Token过期:如果Token有有效期,记得提前实现刷新Token的逻辑,避免接口调用失败
总之,不管用哪个HTTP客户端,核心都是把Authorization: Bearer <Token>这个请求头带上,这样第三方接口就能验证你的身份啦~
内容的提问来源于stack exchange,提问作者Ratri
相关产品推荐
相关产品推荐

