如何在 slack C# 中上传多个附件
How to upload more than one attachments in slack C#
我想在我的 post 消息呼叫中添加多个附件。
我正在使用此 post 中的示例代码
public class SlackAttachment
{
public string fallback { get; set; }
public string color { get; set; }
public string pretext { get; set; }
public string author_name { get; set; }
public string author_link { get; set; }
public string author_icon { get; set; }
public string title { get; set; }
public string title_link { get; set; }
public string text { get; set; }
public string image_url { get; set; }
public string thumb_url { get; set; }
public string footer { get; set; }
public string footer_icon { get; set; }
}
public static void SlackPoster(string imgUrl, string channelName){
string postedMessage = "MessageText";
var sampleAttachment = new SlackAttachment[]
{
new SlackAttachment {
fallback = "",
text = "",
color = "134f46",
pretext = "",
author_name = "",
author_icon = "",
author_link = "",
title = $"",
title_link = "",
image_url = imgUrl,
thumb_url = @"https://i.imgur.com/aFAA6tj.png\",
footer = $"Posted at {DateTime.Now.Day}/" +
$"{DateTime.Now.Month}/{DateTime.Now.Year}/ " +
$"{DateTime.Now.Hour}:{DateTime.Now.Minute }",
footer_icon = ""
}
};
var attachmentsJson = JsonConvert.SerializeObject(sampleAttachment);
var data = new NameValueCollection();
data["token"] = myToken;
data["channel"] = channelName;
data["as_user"] = "true";
data["text"] = postedMessage;
data["attachments"] = attachmentsJson;
var client = new WebClient();
var response = client.UploadValues("https://slack.com/api/chat.postMessage", "POST", data);
string responseInString = Encoding.UTF8.GetString(response);
Console.WriteLine(responseInString);
我创建了另一个附件变量 sampleAttachment2 和
序列化它:
var attachmentsJson2 = JsonConvert.SerializeObject(sampleAttachment2);
但我不知道将两个附件添加到
中的正确语法
data["attachments"] object
感谢您的帮助
sampleAttachment
是一个 SlackAttachment 对象数组。
要添加更多附件,只需将更多 SlackAttachment 对象添加到该数组即可。
示例:
var sampleAttachment = new SlackAttachment[]
{
new SlackAttachment {
fallback = "",
text = "1st attachment"
},
new SlackAttachment {
fallback = "",
text = "2nd attachment",
}
};
API 参数附件的正确语法是附件数组的数组作为 JSON 字符串。
我想在我的 post 消息呼叫中添加多个附件。
我正在使用此 post 中的示例代码
public class SlackAttachment
{
public string fallback { get; set; }
public string color { get; set; }
public string pretext { get; set; }
public string author_name { get; set; }
public string author_link { get; set; }
public string author_icon { get; set; }
public string title { get; set; }
public string title_link { get; set; }
public string text { get; set; }
public string image_url { get; set; }
public string thumb_url { get; set; }
public string footer { get; set; }
public string footer_icon { get; set; }
}
public static void SlackPoster(string imgUrl, string channelName){
string postedMessage = "MessageText";
var sampleAttachment = new SlackAttachment[]
{
new SlackAttachment {
fallback = "",
text = "",
color = "134f46",
pretext = "",
author_name = "",
author_icon = "",
author_link = "",
title = $"",
title_link = "",
image_url = imgUrl,
thumb_url = @"https://i.imgur.com/aFAA6tj.png\",
footer = $"Posted at {DateTime.Now.Day}/" +
$"{DateTime.Now.Month}/{DateTime.Now.Year}/ " +
$"{DateTime.Now.Hour}:{DateTime.Now.Minute }",
footer_icon = ""
}
};
var attachmentsJson = JsonConvert.SerializeObject(sampleAttachment);
var data = new NameValueCollection();
data["token"] = myToken;
data["channel"] = channelName;
data["as_user"] = "true";
data["text"] = postedMessage;
data["attachments"] = attachmentsJson;
var client = new WebClient();
var response = client.UploadValues("https://slack.com/api/chat.postMessage", "POST", data);
string responseInString = Encoding.UTF8.GetString(response);
Console.WriteLine(responseInString);
我创建了另一个附件变量 sampleAttachment2 和 序列化它:
var attachmentsJson2 = JsonConvert.SerializeObject(sampleAttachment2);
但我不知道将两个附件添加到
中的正确语法data["attachments"] object
感谢您的帮助
sampleAttachment
是一个 SlackAttachment 对象数组。
要添加更多附件,只需将更多 SlackAttachment 对象添加到该数组即可。
示例:
var sampleAttachment = new SlackAttachment[]
{
new SlackAttachment {
fallback = "",
text = "1st attachment"
},
new SlackAttachment {
fallback = "",
text = "2nd attachment",
}
};
API 参数附件的正确语法是附件数组的数组作为 JSON 字符串。