gpt4 book ai didi

microsoft-graph-api - Outgoing Webhook 响应消息的格式是什么?

转载 作者:行者123 更新时间:2023-12-04 03:42:04 26 4
gpt4 key购买 nike

我在 MS Teams 中创建了一个传出网络钩子(Hook)。在提及传出 webhook 中指定的名称时,它将成功地在我的应用程序中调用 API - 一切都很好。

根据文档,我的应用需要使用响应消息来响应该请求。但我绝对找不到此响应中接受的格式的任何文档。

我能找到的唯一引用是这个: https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/add-outgoing-webhook

遗憾的是,它没有详细说明此类消息的外观。它仅给出了一个可以接受的示例:

{
"type": "message",
"text": "This is a reply!"
}

然而,我不想用简单的消息来回应,而是更喜欢用格式更丰富的东西来回应,比如卡片或者 - 在某些情况下是 react 而不是消息。

这可能吗?是否有任何文件,还有哪些其他答复是可以接受的?除了可以返回的“消息”之外,还有其他类型吗?

最佳答案

好的,这是为团队处理事情的一种快速而肮脏的方法。出于某种原因,这并没有非常清楚地记录下来,但团队需要的是将“卡片”创建为附件,而不是直接获得响应。

我所做的是首先捕获放置卡片所需的样板文件:

string TeamsAdaptiveCardBoilerplate =
@"
{
""type"":""message"",
""attachments"":[
{
""contentType"":""application/vnd.microsoft.card.adaptive"",
""contentUrl"":null,
""content"":{
""$schema"":""http://adaptivecards.io/schemas/adaptive-card.json"",
""type"":""AdaptiveCard"",
""version"":""1.2"",
""body"":[
@@BODY@@
]
}
}
]
}
";

然后,我构建正文(通常,这不会是静态文本,但它可以很好地作为示例)

string AdaptiveCardBody =
@"
{
""type"": ""TextBlock"",
""text"": ""Here is a ninja cat""
},
{
""type"": ""Image"",
""url"": ""http://adaptivecards.io/content/cats/1.png""
}
";

接下来我简单地将占位符换成正文:

var jsonPayload1 = TeamsAdaptiveCardBoilerplate.Replace("@@BODY@@", AdaptiveCardBody); 

最后,返回组装的有效负载(转换回对象以便设置正确的响应 header ):

var payload1 = JsonConvert.DeserializeObject(jsonPayload1);
return (ActionResult)new OkObjectResult(payload1);

从那里开始,您应该一切顺利。

注意事项:

为方便起见,您可以将整个“内容”(而非“正文”) block 复制/粘贴到 adaptivecards.io 设计器中。如果它对你很重要,你可以重构上面的内容以反射(reflect)现实。

关于microsoft-graph-api - Outgoing Webhook 响应消息的格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65849243/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com