2

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 が提案するような添付ファイルを追加しようとしましたが、正しくフォーマットされていないと思います。私はもう試した

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 添付ファイルに含まれるその他の情報を投稿できません。

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 に答える