尝试发布到slack api并询问如何在我的帖子中包含附件部分。我的方法看起来像
public KeyValuePair<string, string>[] GetParameters()
{
List<KeyValuePair<string, string>> parameters = new List<KeyValuePair<string, string>>();
parameters.Add(new KeyValuePair<string, string>("token", Token));
parameters.Add(new KeyValuePair<string, string>("channel", Channel));
parameters.Add(new KeyValuePair<string, string>("text", Text));
parameters.Add(new KeyValuePair<string, string>("as_user", As_User.ToString()));
return parameters.ToArray();
}
但是我的对象有一个数组,我需要包含看起来像
的附件public class Attachment
{
public string text{get; set;}
public string pretext{ get; set;}
}
试图弄清楚如何在我返回的keyvaluepair数组中包含附件。或者这可能不是正确的方法吗?
我的价值在于我如何创建帖子
using (HttpClient client = new HttpClient())
{
var parameters = response.GetParameters();
var requestContent = new FormUrlEncodedContent(parameters);
HttpResponseMessage r = await client.PostAsync(baseurl, requestContent);
HttpContent responseContent = r.Content;
}
答案 0 :(得分:1)
假设我们谈到使用chat.postMessage向频道发布消息,附件只是请求中的另一个参数,例如token
和channel
。因此,您可以在attachments
方法中将parameters
添加到GetParameters
。
attachments
的值必须是JSON格式的附件数组。
首先将Attachment
对象转换为数组。然后使用JavaScriptSerializer.Serialize