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

plupiseo  于 2023-08-08  发布在  其他
关注(0)|答案(3)|浏览(127)

我有一个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发送多行消息的方法是什么?这里的任何指导都是赞赏的。


的数据

gab6jxml

gab6jxml1#

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

bxpogfeg

bxpogfeg2#

我知道这是一个老职位,但如果有人仍然需要这个你可以使用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

xqkwcwgp

xqkwcwgp3#

我发现,在C#中,追加:
第一个月
似乎起作用了。

相关问题