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

BotFramework/Botbuilder-js自适应对话框发送HTTP请求报错求助

解决Bot Framework自适应对话框中HTTP请求的TypeError: path.indexOf is not a function错误

这个错误大概率是你的HTTP请求配置里的body格式不符合application/x-www-form-urlencoded要求,再加上几处小的配置失误导致的,我来帮你逐一修正:

错误原因拆解

  1. Body格式完全不符合规范:你用逗号分隔键值对的写法,根本不是application/x-www-form-urlencoded要求的格式——这种类型需要用&分隔参数,键和值之间用=连接,而不是逗号或对象语法。
  2. 重复设置Content-Type:你同时在contentType和headers里配置了Content-Type,冗余的配置可能引发解析冲突。
  3. ResponseType拼写错误:你写的ResponsesTypes.Json多了一个s,正确的枚举值是ResponseTypes.Json。

修正后的完整代码

new HttpRequest().configure({ 
    resultProperty: new StringExpression("user.teamProfile.accessToken"), 
    url: new StringExpression('https://login.microsoftonline.com/myTenantId/oauth2/v2.0/token'), 
    method: HttpMethod.POST, 
    contentType: new StringExpression('application/x-www-form-urlencoded'), 
    // 移除headers里重复的Content-Type配置
    body: new StringExpression("client_id=myClientId&scope=https://graph.microsoft.com/.default&client_secret=myclientSecret&grant_type=client_credentials"), 
    responseType: ResponseTypes.Json 
})

额外提醒

  • 记得把代码里的myTenantId、myClientId、myclientSecret替换成你实际的有效凭证,别保留占位符。
  • 如果后续仍出现路径相关错误,可以检查resultProperty的表达式是否正确,确保user.teamProfile这个对话状态对象已经被正确初始化,避免因状态路径不存在引发的解析问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 10:32:38