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

Bot Framework Composer聊天机器人接入WhatsApp Business遇阻:DirectLine通道Postman测试授权失败求助

解决Azure Bot Framework Composer + DirectLine通道Postman未授权问题

听起来你卡在DirectLine的授权环节了,我之前帮几个开发者解决过类似的问题,咱们一步步来排查:

1. 先确认DirectLine密钥的正确性

别把Bot的Microsoft App ID/密码和DirectLine的密钥搞混了!在Azure Portal的Bot资源里:

  • 进入左侧菜单的「Channels」,找到DirectLine通道点击「Edit」
  • 这里的Primary Key和Secondary Key才是你要用来请求DirectLine API的密钥,检查密钥是否过期(过期的话点击「Regenerate」重新生成)

2. 检查Postman获取Token的请求格式

获取DirectLine Token的第一步必须正确,否则后续所有请求都会报错:

  • 请求URL:https://directline.botframework.com/v3/directline/tokens/generate
  • 请求方法:POST
  • Headers里必须添加:Authorization: Bearer <你的DirectLine密钥>

    注意:Bearer后面要跟一个空格,然后直接粘贴密钥,不要加引号或者多余字符
    如果这一步返回401,90%是密钥错误或者格式不对,再仔细核对一遍

3. 确认机器人本身是否正常运行

先排除机器人部署的问题:

  • 回到Azure Bot资源的「Test in Web Chat」页面,发送一条消息看看机器人是否能正常回复
  • 如果Web Chat也没反应,那可能是Composer发布时的参数配置错误(比如Microsoft App ID/密码和Azure里的不一致),或者App Service没正常启动(去App Service的「Overview」看状态是否是Running)

4. 后续会话请求要使用生成的Token,不是原始密钥

很多人在这里踩坑:拿到Token之后,创建会话、发送消息的请求,Headers里的Authorization要换成生成的Token,而不是DirectLine的原始密钥:

  • 创建会话的URL:https://directline.botframework.com/v3/directline/conversations
  • Headers:Authorization: Bearer <刚才获取到的Token>

5. 排查网络/防火墙限制

如果以上都没问题,看看是不是IP被限制了:

  • 进入Bot所在的App Service,左侧菜单「Networking」->「Access restrictions」
  • 检查是否设置了IP白名单,如果有,暂时移除或者把Postman的IP加进去测试

另外,关于你最终对接WhatsApp的需求:等DirectLine测试通了之后,你可以用Twilio作为中间层——Twilio接收WhatsApp的消息,然后调用DirectLine API和机器人交互,再把机器人的回复转发回WhatsApp,这个流程是可行的,先把当前的授权问题解决就好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 17:12:50