如何使用Teams Webhooks发布多行消息?

3
我设置了一个Webhook来向我们的团队频道之一发布消息。我正在使用其中一个示例链接的团队Webhook:https://learn.microsoft.com/en-us/microsoftteams/platform/task-modules-and-cards/cards/cards-reference#hero-card
我的问题是,我无法显示多行。在以下示例中,我想将“Test1”和“Test2”分开成不同的行。然而,在JSON中使用\n或\n并没有在Teams中转换为多行格式。屏幕截图结果如下所示。
    "type": "message",
    "attachments": [
        {
            "contentType": "application/vnd.microsoft.card.hero",
            "content": {
                "title": "Alerts",
                "text": "*Test1 \n *Test\n",
                "buttons": [
                    {
                        "type": "openUrl",
                        "title": "Open in SumoLogic",
                        "value": ""
                    }
                ]
            }
        }
    ]
}


如何使用Webhook向Teams发送多行消息?任何指导都将不胜感激。

how the result in teams look like at the moment

3个回答

2
请尝试使用\n\n并检查。

感谢 @Saonti-MSFT。但是那没有起作用。结果没有改变,就像上面的截图一样。 - anoj-cha
2
嗨@AnojShrestha,我尝试重现您的情况,您可以尝试使用“<br/>”标签。您可以参考此示例代码 - Saonti-MSFT
不幸的是,我无法在这里粘贴截图,但这就是它在 MS Teams 中的样子。第1行第2行第3行 - anoj-cha
请发送电子邮件至microsoftteamsdev@microsoft.com,以便我们可以通过电话进一步讨论。 - Saonti-MSFT
\n\n 不总是有效,但当它失败时,<br /> 是有效的。谢谢! - CyberMew
显示剩余3条评论

0

我知道这是一个旧帖子,但如果还有人需要,你可以使用AdaptiveCards

$ 使用AdaptiveCards;

            AdaptiveCard card = new AdaptiveCard("1.5");

            card.AdditionalProperties.Add("$schema", "http://adaptivecards.io/schemas/adaptive-card.json");
            var msTeamsWidthOption = new { width = "Full" };
            card.AdditionalProperties.Add("msteams", msTeamsWidthOption);

            AdaptiveTextBlock titleBlock = new AdaptiveTextBlock
            {
                Size = AdaptiveTextSize.Large,
                Weight = AdaptiveTextWeight.Bolder,
                Wrap = true,
                Text = title
            };

            AdaptiveTextBlock messageBlock = new AdaptiveTextBlock
            {
                Wrap = true,
                Text = message
            };

            card.Body.Add(titleBlock);
            card.Body.Add(messageBlock);

            AdaptiveCardWrapper adaptiveCardWrapper = new AdaptiveCardWrapper 
            { 
                attachments = new List<Attachments> { new Attachments { content = card} }
            };

            var address = Environment.GetEnvironmentVariable("WebhookUrl");
            var content = new StringContent(JsonConvert.SerializeObject(adaptiveCardWrapper), Encoding.UTF8, "application/json");

            var response = await _httpClient.PostAsync(address, content);

您可以使用“Wrap = true”在字符串中使用换行符,或者将多个卡片添加到单个消息中。或者两者都可以。

https://learn.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using?tabs=cURL#send-adaptive-cards-using-an-incoming-webhook


0
我发现,在C#中,追加以下内容似乎有效:

Environment.Newline + Environment.Newline

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接