You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在NEXTJS中使用npm google trends api出现res.status非函数错误如何解决

问题解决方法

核心错误1:handler参数顺序颠倒

Next.js Pages Router 路由的处理函数参数固定为(req, res),第一个参数是请求对象,第二个参数是响应对象。你代码中把两个参数写反了,导致拿到的res实际是请求对象,本身不存在status方法,这是报错的直接原因。

次要错误:异步逻辑与导出规则有误

  • 你同时使用了await和.then,且.then回调中没有返回任何值,最终data变量会得到undefined,无法正确返回接口数据
  • 没有捕获请求异常,谷歌接口调用报错时会导致接口超时无响应
  • 缺少默认导出handler的语句,Next.js无法正常识别API路由

修正后的完整代码

import googleTrendsApi from "google-trends-api";

const handler = async (req, res) => {
  try {
    // 直接用await接收返回结果,无需额外加.then
    const results = await googleTrendsApi.interestOverTime({ 
      keyword: ["Women's march", "Trump Inauguration"] 
    });
    console.log("These results are awesome", results);
    res.status(200).json({ data: results });
  } catch (error) {
    // 捕获请求异常,返回错误响应
    console.error("谷歌趋势请求失败:", error);
    res.status(500).json({ error: "数据请求失败", msg: error.message });
  }
};

// 必须导出默认处理函数,Next.js才能识别路由
export default handler;

内容的提问来源于stack exchange,提问作者KeoooDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 02:15:01