【问题标题】:Post image into Slack using Incoming Webhook C#使用传入 Webhook C# 将图像发布到 Slack
【发布时间】:2015-07-07 21:26:09
【问题描述】:

我正在尝试将图像发布到 slack,但遇到了一些问题。目前,我创建了一个 httpWebRequest 来将消息发布到 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 suggusted 这样的附件,但我认为我的格式不正确。我试过了

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);

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

【问题讨论】:

    标签: c# json webhooks slack-api


    【解决方案1】:

    所以我得到了答案,我需要创建一个新的数组对象,然后将该数组设置为等于 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}}
                });
    

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

    【讨论】:

    • 接受你自己的答案吗?
    • 如果要附加多张图片怎么办?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-17
    • 1970-01-01
    • 2018-04-16
    • 2022-06-18
    • 1970-01-01
    • 2019-09-03
    相关资源
    最近更新 更多