当使用传出 Webhook 作为 Teams 组中的应用程序以获取 PowerShell Azure 函数的输出时,应如何解析请求正文中作为 JSON 负载接收的聊天文本?
using namespace System.Net
param($Request, $TriggerMetadata)
$text =($Request.Body|ConvertFrom-Json).text #Parse request body to extract message text
$Response = @{ #This simply echoes the received text
type = 'message'
text = "You said: $text"} | ConvertTo-Json
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode= [HttpStatusCode]::OK
Body = $Response})
代码部分运行,以便我可以获取函数
['You said']
的文本输出作为 Teams 中的响应。但是,它无法解析在 Teams 中调用该函数时传递的文本并在响应中回显它。
PFB 如何从请求正文中的 JSON 负载和正则表达式解析 Teams 消息文本,以在回显时删除应用程序名称。
using namespace System.Net
param($Request, $TriggerMetadata)
$text = $Request.Body['text'] -replace '.*PSFunction2\s*', ''
$response = @{
type = 'message'
text = "You said: $text"}| ConvertTo-Json
Push-OutputBinding -Name Response -Value ([HttpResponseContext]@{
StatusCode= [HttpStatusCode]::OK
Body = $response
})
PFB输出截图