使用Axios发起Get请求调用TwelveData API获取股票数据异常求助
问题描述
我使用Axios发起Get请求调用TwelveData API获取股票信息时遇到异常,返回了奇怪的数据,无法得到正常的股票数据。我的代码如下:
const axios = require('axios'); require('dotenv').config() const getTickerList = async() => { await axios.get(`https://api.twelvedata.com/stocks?apikey=${process.env.API_KEY}&symbol=AAPL&country=US`).then(response => console.log(response.data)); }
排查与解决方案
- 确认API端点匹配需求:TwelveData的
/stocks接口是用于获取股票列表的,若要获取单只股票的具体行情数据,应使用对应功能的端点,比如实时价格用/price、时间序列数据用/time_series。示例修正:// 获取AAPL实时价格 const response = await axios.get(`https://api.twelvedata.com/price?apikey=${process.env.API_KEY}&symbol=AAPL`); - 验证API Key有效性:先在代码中打印
console.log(process.env.API_KEY),确认环境变量是否正确加载、Key值是否无误,避免因Key无效导致的异常返回。 - 规范异步代码写法:不要混用
await和.then(),统一使用await并配合try/catch捕获错误,便于定位问题:const getTickerList = async() => { try { const response = await axios.get(`https://api.twelvedata.com/price?apikey=${process.env.API_KEY}&symbol=AAPL`); console.log(response.data); } catch (error) { console.error('请求错误详情:', error.response?.data || error.message); } } - 核对接口参数规则:查阅TwelveData官方文档,确认调用的接口参数是否符合要求,比如
/stocks接口的参数是否有格式限制、是否需要额外必填项。
内容的提问来源于stack exchange,提问作者labradoodlefam
相关产品推荐
相关产品推荐

