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

使用Teams Bot Framework v3/conversations API发消息返回ServiceError求助

解决MS Teams Bot发送消息返回ServiceError Unknown的问题

问题诊断与修复方案

结合你提供的请求细节,导致ServiceError: Unknown的核心原因及对应修复方式如下:

1. 请求端点构造错误

你当前使用的请求端点直接基于根域名smba.trafficmanager.net拼接,这是错误的。必须使用**用户消息载荷中返回的serviceUrl**来构造完整请求地址。

收到的消息里serviceUrl为https://smba.trafficmanager.net/in/,正确的请求端点应为:

https://smba.trafficmanager.net/in/apis/v3/conversations/a:1mRkfgE7IToodMtIDgCEjhIvW80fnN3F3NaYPDJykSrQeqpn5tLZSfUP81W-eGdZhQzqpzlBFOvrF2YXzjFmBfknQMyGSRfAppgOxtrwzIsS11hDr1b2OA5tSATfXXXXX/activities

直接使用根域名会导致路由匹配失败,触发未知服务错误。

2. 请求体冗余字段干扰

请求体中无需包含serviceUrl和from字段:

  • from信息会通过Bearer令牌自动验证,手动指定反而可能引发冲突
  • serviceUrl是请求URL的一部分,请求体中重复提交属于冗余信息

修正后的简化请求体:

{
  "type": "message",
  "text": "Hello, how are you?",
  "recipient": {
    "id": "29:1dg0_w-lYJvMYo-pvGLpU-kQ3SDtAx2JDoj0PTdTbJ4vthgUx_fhckw2y1DUIkAFNRJjmeUNeUJZW0jaR0XXXXX",
    "name": "Maxwell"
  },
  "conversation": {
    "id": "a:1mRkfgE7IToodMtIDgCEjhIvW80fnN3F3NaYPDJykSrQeqpn5tLZSfUP81W-eGdZhQzqpzlBFOvrF2YXzjFmBfknQMyGSRfAppgOxtrwzIsS11hDr1b2OA5tSATfXXXXX",
    "tenantId": "a077c4a2-843d-49e8-b5cd-f3b6a77XXXXX"
  }
}

3. 令牌权限范围验证

确保获取access_token时,请求的scope参数为https://api.botframework.com/.default,完整令牌请求示例(替换为你的机器人凭据):

curl -X POST https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&client_id=YOUR_BOT_ID&client_secret=YOUR_BOT_SECRET&scope=https://api.botframework.com/.default"

错误的权限范围会导致令牌无效,触发服务端未知错误。

4. 请求头完整性检查

必须包含以下核心请求头:

  • Authorization: Bearer {your_access_token}
  • Content-Type: application/json

验证流程

  1. 用消息返回的serviceUrl重新拼接请求端点
  2. 使用简化后的请求体发送POST请求
  3. 确认令牌的scope参数和有效性
  4. 检查请求头是否完整合规

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:42:32