//新增永久图片素材
public string add_matrial(string accesstoke,string picurl,out string errmsg)
{
string result = string.Empty;
errmsg = "";
string addMatrialAPI = string.Format("https://api.weixin.qq.com/cgi-bin/material/add_material?access_token={0}&type=image",accesstoke);
WebClient wc = new WebClient();
wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko");
byte[] bs = wc.DownloadData(picurl);
MemoryStream ms = new MemoryStream(bs);
string res = PostMultipart(addMatrialAPI,
new Dictionary<string, object>() {
{ "media", new FormFile() { Name = "image1.jpg", ContentType = "image/jpeg", Stream = ms } },
});
JObject jobject= JsonConvert.DeserializeObject<JObject>(res);
if(jobject!=null)
{
if(jobject["errcode"]!=null&&jobject["errcode"].ToString()!="0")
{
errmsg = jobject["errmsg"].ToString();
}
else
{
result=jobject["media_id"].ToString();
}
}
return result;
}
//新增草稿
public string add_draft(string accesstoken,string thumb_media_id,string title,string content,out string errmsg)
{
string add_draft_url = string.Format("https://api.weixin.qq.com/cgi-bin/draft/add?access_token={0}", accesstoken);
int code= 200;
errmsg = "";
string result = string.Empty;
Dictionary<string, List<dynamic>> dic = new Dictionary<string, List<dynamic>>();
dic.Add("articles", new List<dynamic>{ new
{
title=title,
content=content,
thumb_media_id=thumb_media_id
} });
string parastr = JsonConvert.SerializeObject(dic);
string res= HttpHelper.PostJSON(add_draft_url, parastr,Encoding.UTF8,out code);
JObject jobject= JsonConvert.DeserializeObject<JObject>(res);
if(jobject!=null)
{
if(jobject["errcode"]!=null&&jobject["errcode"].ToString()!="0")
{
errmsg = jobject["errmsg"].ToString();
}
else
{
result=jobject["media_id"].ToString();
}
}
return result;
}
//调用群发接口
public string sendall(string accesstoken,string media_id,out string errmsg )
{
string add_draft_url = string.Format("https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token={0}", accesstoken);
int code= 200;
errmsg = "";
string result = string.Empty;
dynamic para =new
{
filter=new
{
is_to_all=true
},
mpnews=new
{
media_id = media_id
},
msgtype = "mpnews",
send_ignore_reprint = 1
};
string parastr = JsonConvert.SerializeObject(para);
string res= HttpHelper.PostJSON(add_draft_url, parastr,Encoding.UTF8,out code);
JObject jobject= JsonConvert.DeserializeObject<JObject>(res);
if(jobject!=null)
{
if(jobject["errcode"]!=null&&jobject["errcode"].ToString()!="0")
{
errmsg = jobject["errmsg"].ToString();
}
else
{
result=jobject["msg_data_id"].ToString();
}
}
return result;
}