2

我正在尝试将图像发布到松弛中,但我遇到了一些麻烦。目前,我创建了一个 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);

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

4

1 回答 1

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

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

于 2015-07-08T13:35:40.493 回答