使用Incoming Webhook C#将图像发布到Slack

时间:2015-07-07 21:26:10

标签: c# json webhooks slack-api

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

#set( $USER = "YourName" )
/**
* Created by ${USER} on ${DATE}.
*/

我现在正尝试在邮件中添加图片,但到目前为止还没有成功。我尝试添加像Slack一样的附件,但我认为我没有正确格式化它。我试过了

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

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

1 个答案:

答案 0 :(得分:2)

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

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