Размещать изображения в слабину, используя входящие веб-перехватчик с#


Я пытаюсь разместить изображение в 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.

1 2

1 ответ:

Итак, я получил ответ, мне нужно было создать новый объект array, а затем установить этот массив равным новому элементу 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}}
            });

Я также добавил заголовок, чтобы показать, как добавить несколько элементов. Вам не нужно объявлять новый элемент для каждого элемента, который вы хотите добавить во вложение. Просто отделите его запятыми.