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

Excel Power Query调用API POST请求返回Bad Request问题排查

Power Query POST API返回Bad Request:复现Insomnia请求失败问题

尝试用Excel Power Query复现Insomnia中可正常运行的API POST请求,目前请求返回Bad Request。

可正常运行的Insomnia CURL请求

curl --request POST \
  --url https://url.... \
  --header 'Authorization: Bearer <<TOKEN VALUE>>' \
  --header 'Content-Type: application/json' \
  --data '{ "start":"2023-11-29", "end":"2023-11-29" }'

当前编写的Power Query代码

let
    Token = Excel.CurrentWorkbook(){[Name="Token"]}[Content]{0}[Column1],
    FromDate = Excel.CurrentWorkbook(){[Name="FromDate"]}[Content]{0}[Column1],
    ToDate = Excel.CurrentWorkbook(){[Name="ToDate"]}[Content]{0}[Column1],
    headers = [#"Authorization"="Bearer "&Token,#"Content-Type"="application/json"],
    postData = Json.FromValue([start = FromDate, end = ToDate]),
    Source = Json.Document(Web.Contents("https://url...", [Headers=headers, Content=postData]))
in 
    Source

问题排查与修复方案

1. 日期格式不匹配

Insomnia请求中日期是"2023-11-29"格式的字符串,但Power Query从Excel获取的日期是日期类型,Json.FromValue会自动将其转换为ISO标准格式(如"2023-11-29T00:00:00"),这可能导致API解析失败。

2. 令牌可能包含多余空格

从Excel命名区域获取的Token可能带有前后空格,会破坏Bearer授权头的格式。

修改后的Power Query代码

let
    Token = Text.Trim(Excel.CurrentWorkbook(){[Name="Token"]}[Content]{0}[Column1]),
    FromDate = Text.From(Excel.CurrentWorkbook(){[Name="FromDate"]}[Content]{0}[Column1], "yyyy-MM-dd"),
    ToDate = Text.From(Excel.CurrentWorkbook(){[Name="ToDate"]}[Content]{0}[Column1], "yyyy-MM-dd"),
    headers = [#"Authorization"="Bearer "&Token, #"Content-Type"="application/json"],
    postData = Json.FromValue([start = FromDate, end = ToDate]),
    Source = Json.Document(Web.Contents("https://url...", [Headers=headers, Content=postData]))
in 
    Source

修改说明

  • 用Text.Trim(Token)去除令牌前后的多余空格,确保授权头格式正确
  • 用Text.From(日期, "yyyy-MM-dd")将Excel日期转换为与Insomnia一致的字符串格式,保证JSON请求体中的日期符合API要求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 07:46:27