/// <summary> /// 回复单图文消息 /// </summary> /// <param name="toUserName"></param> /// <param name="fromUserName"></param> /// <param name="news"></param> /// <returns></returns> public static string RepayNews(string toUserName, string fromUserName, WeixinNews news) { var builder = new StringBuilder(); builder.Append(string.Format("<xml><ToUserName><![CDATA[{0}]]></ToUserName>" + "<FromUserName><![CDATA[{1}]]></FromUserName>" + "<CreateTime>{2}</CreateTime>" + "<MsgType><![CDATA[news]]></MsgType>" + "<ArticleCount>{3}</ArticleCount><Articles>", toUserName, fromUserName, Util.CreateTimestamp(), 1)); builder.Append(string.Format("<item><Title><![CDATA[{0}]]></Title>" + "<Description><![CDATA[{1}]]></Description>" + "<PicUrl><![CDATA[{2}]]></PicUrl>" + "<Url><![CDATA[{3}]]></Url>" + "</item>", news.title, news.description, news.picurl, news.url )); builder.Append("</Articles></xml>"); return builder.ToString(); }
/// <summary> /// 回复单图文消息 /// </summary> /// <param name="access_token">调用接口凭证</param> /// <param name="touser">普通用户openid</param> /// <param name="news"></param> /// <param name="kf_account">完整客服账号,格式为:账号前缀@公众号微信号</param> /// <returns></returns> public static bool RepayNews(string access_token, string touser, WeixinNews news, string kf_account = null) { var builder = new StringBuilder(); builder.Append("{") .Append('"' + "touser" + '"' + ":").Append('"' + touser + '"').Append(",") .Append('"' + "msgtype" + '"' + ":").Append('"' + "news" + '"').Append(",") .Append('"' + "news" + '"' + ":") .Append("{") .Append('"' + "articles" + '"' + ":") .Append("[") .Append("{") .Append('"' + "title" + '"' + ":").Append('"' + news.title + '"').Append(",") .Append('"' + "description" + '"' + ":").Append('"' + news.description + '"').Append(",") .Append('"' + "url" + '"' + ":").Append('"' + news.url + '"').Append(",") .Append('"' + "picurl" + '"' + ":").Append('"' + news.picurl + '"') .Append("}") .Append("]") .Append("}"); if (!string.IsNullOrEmpty(kf_account)) { builder.Append(","); builder.Append('"' + "customservice" + '"' + ":") .Append("{") .Append('"' + "kfaccount" + '"' + ":").Append('"' + kf_account + '"') .Append("}"); } builder.Append("}"); var client = new HttpClient(); return client.PostAsync(string.Format("https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={0}", access_token), new StringContent(builder.ToString())).Result.IsSuccessStatusCode; }