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

Teams Outgoing Webhook调用PowerShell Azure函数无法解析聊天文本问题

在Teams中使用Outgoing Webhook时解析JSON请求体的PowerShell Azure函数修正方案

当前你的PowerShell Azure函数能返回基础响应,但无法提取并回显Teams中传入的文本,问题出在请求体的解析步骤上——Azure函数中$Request.Body默认是字节数组,直接用ConvertFrom-Json解析会失败,导致$text为空。

修正后的代码

using namespace System.Net
param($Request, $TriggerMetadata) 

# 将请求体的字节数组转换为UTF-8字符串,再解析为JSON对象
$requestBodyString = [System.Text.Encoding]::UTF8.GetString($Request.Body)
$payload = $requestBodyString | ConvertFrom-Json
$text = $payload.text

# 构造响应内容
$responseContent = @{
    type = 'message'
    text = "You said: $text"
} | ConvertTo-Json

# 返回响应
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
    StatusCode = [HttpStatusCode]::OK
    Body = $responseContent
})

关键修正点

  • 请求体转换:先通过[System.Text.Encoding]::UTF8.GetString($Request.Body)将原始字节格式的请求体转换为字符串,确保ConvertFrom-Json能正确解析JSON结构。
  • 字段验证:Teams Outgoing Webhook的请求体标准结构中,用户输入的消息内容直接存储在text字段,确认该字段路径无误。

如果仍无法获取文本,可添加日志输出验证请求体结构:

# 在解析前添加日志,查看原始请求体内容
Write-Output "原始请求体:$requestBodyString"

通过Azure函数的日志查看完整请求体,确认文本所在的字段路径是否正确。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 10:31:09