Post 使用传入 Webhook C# 将图像导入 Slack

Post image into Slack using Incoming Webhook C#

我正在尝试 post 将图像放入 slack 中,但我遇到了一些麻烦。目前,我创建了一个 httpWebRequest 来 post 将消息放入 slack 中,并使用 JavaScriptSerializer 将我的消息序列化为 json 格式的字符串,如下所示:

    string json = new JavaScriptSerializer().Serialize(new
            {
                username = userName,
                image_url = imageUrl,
                text = message,
                icon_emoji = icon,
                channel = channelName
            });
            streamWriter.Write(json);

我现在正在尝试向消息中添加图片,但到目前为止还没有成功。我尝试添加 Slack 建议的附件,但我认为我的格式设置不正确。我试过了

string json = new JavaScriptSerializer().Serialize(new
            {
                username = userName,
                image_url = imageUrl,
                text = message,
                icon_emoji = icon,
                channel = channelName,
                attachments = new {image_url = www.myurllink.com}
            });
            streamWriter.Write(json);

即使字符串似乎设置正确,它也无法 post 我的图像或我在 slack 附件中包含的任何其他信息。

所以我得到了答案,我需要创建一个新数组 object 然后将该数组设置为等于 image_url 的新元素。

string json = new JavaScriptSerializer().Serialize(new
            {
                username = userName,
                text = message,
                icon_emoji = icon,
                channel = channelName,
                attachments = new []{ new {image_url = "www.imageurl.com", title = "image as of " + DateTime.Now}}
            });

我还添加了标题以展示如何添加多个元素。您无需为要添加到附件的每个项目声明新元素。只需用逗号分隔即可。