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

使用Dio调用NewsAPI时遭遇401授权错误求助

解决Dio调用News API返回401未授权错误的方案

错误原因分析

HTTP 401状态码表示身份验证失败,你的代码里存在一个明显的拼写错误:在请求查询参数中,把API密钥的键名写成了piKey,而News API要求的正确键名是apiKey,这直接导致服务端无法识别你的授权密钥,从而返回未授权错误。

修正步骤

  • 修正查询参数键名:在浮动按钮的点击事件中,将piKey改为apiKey,这是解决问题的核心操作。
  • 验证API密钥有效性:确认你的API密钥是从News官网正确获取且未过期,若密钥无效也会触发401错误,可以尝试替换为注释里的备用密钥测试。
  • 优化错误排查:在Dio的错误捕获逻辑中添加状态码和响应数据打印,能更直观地定位后续可能出现的问题。

修正后的关键代码片段

floatingActionButton: FloatingActionButton(
  onPressed: () {
    DioHelper.getdata(
      url: 'v2/top-headlines',
      query: {
        'country': 'eg',
        'category': 'business',
        'apiKey': '65f7f556ec76449fa7dc7c0069f040ca', // 修正键名为apiKey
      },
    ).then((value) {
      print(value.data.toString());
    }).catchError((error) {
      if (error is DioError) {
        print('错误状态码: ${error.response?.statusCode}');
        print('错误响应数据: ${error.response?.data}');
      }
      print('获取数据出错: ${error.toString()}');
    });
  },
  child: const Icon(Icons.add),
),

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 09:15:41