C#微信接口之推送模板消息功能示例

所属分类: 软件编程 / C#教程 阅读数: 97
收藏 0 赞 0 分享

本文实例讲述了C#微信接口之推送模板消息功能。分享给大家供大家参考,具体如下:

public string SendTempletMessge()
{
   string strReturn = string.Empty;
   try
   {
     #region 获取access_token
     string apiurl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secret=你的secret";
     WebRequest request = WebRequest.Create(@apiurl);
     request.Method = "POST";
     WebResponse response = request.GetResponse();
     Stream stream = response.GetResponseStream();
     Encoding encode = Encoding.UTF8;
     StreamReader reader = new StreamReader(stream, encode);
     string detail = reader.ReadToEnd();
     var jd = JsonConvert.DeserializeObject<WXApi>(detail);
     string token = (String)jd.access_token;
     #endregion
     #region 组装信息推送,并返回结果(其它模版消息于此类似)
     string url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + token;
     string temp = "{\"touser\": \"" + UserInfo.OpenID + "\"," +
            "\"template_id\": \"f3kRRjJeyLDf4tndtg-OJeRvgEdgjjDxCy4T9kuwM70\", " +
            "\"topcolor\": \"#FF0000\", " +
            "\"data\": " +
            "{\"first\": {\"value\": \"您好,您有一条回款通知信息\"}," +
            "\"keyword1\": { \"value\": \"单位名称\"}," +
            "\"keyword2\": { \"value\": \"日期\"}," +
            "\"keyword3\": { \"value\": \"金额\"}," +
            "\"keyword4\": { \"value\": \"业务员\"}," +
            "\"remark\": {\"value\": \"\" }}}";
     #endregion
   //核心代码
   GetResponseData(temp, @url);
     strReturn = "推送成功";
   }
   catch (Exception ex)
   {
    strReturn = ex.Message;
   }
   return strReturn;
}
/// <summary>
/// 返回JSon数据
/// </summary>
/// <param name="JSONData">要处理的JSON数据</param>
/// <param name="Url">要提交的URL</param>
/// <returns>返回的JSON处理字符串</returns>
public string GetResponseData(string JSONData, string Url)
{
   byte[] bytes = Encoding.UTF8.GetBytes(JSONData);
   HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
   request.Method = "POST";
   request.ContentLength = bytes.Length;
   request.ContentType = "json";
   Stream reqstream = request.GetRequestStream();
   reqstream.Write(bytes, 0, bytes.Length);
   //声明一个HttpWebRequest请求
   request.Timeout = 90000;
   //设置连接超时时间
   request.Headers.Set("Pragma", "no-cache");
   HttpWebResponse response = (HttpWebResponse)request.GetResponse();
   Stream streamReceive = response.GetResponseStream();
   Encoding encoding = Encoding.UTF8;
   StreamReader streamReader = new StreamReader(streamReceive, encoding);
   string strResult = streamReader.ReadToEnd();
   streamReceive.Dispose();
   streamReader.Dispose();
   return strResult;
}

涉及到的实体:

public class WXApi
{
  public string access_token { set; get; }
}

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结

希望本文所述对大家C#程序设计有所帮助。

更多精彩内容其他人还在看

c#开发word批量转pdf源码分享

已经安装有Office环境,借助一些简单的代码即可实现批量Word转PDF,看下面的实例源码吧
收藏 0 赞 0 分享

c# xml API操作的小例子

这篇文章主要介绍了c# xml API操作的小例子,有需要的朋友可以参考一下
收藏 0 赞 0 分享

c#唯一值渲染实例代码

这篇文章主要介绍了c#唯一值渲染实例代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

淘宝IP地址库采集器c#代码

这篇文章主要介绍了淘宝IP地址库采集器c#代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

C#在后台运行操作(BackgroundWorker用法)示例分享

BackgroundWorker类允许在单独的专用线程上运行操作。如果需要能进行响应的用户界面,而且面临与这类操作相关的长时间延迟,则可以使用BackgroundWorker类方便地解决问题,下面看示例
收藏 0 赞 0 分享

c#文本加密程序代码示例

这是一个加密软件,但只限于文本加密,加了窗口控件的滑动效果,详细看下面的代码
收藏 0 赞 0 分享

c#生成站点地图(SiteMapPath)文件示例程序

这篇文章主要介绍了c#生成站点地图(SiteMapPath)文件的示例,大家参考使用
收藏 0 赞 0 分享

C# 键盘Enter键取代Tab键实现代码

这篇文章主要介绍了C# 键盘Enter键取代Tab键实现代码,有需要的朋友可以参考一下
收藏 0 赞 0 分享

C# WinForm导出Excel方法介绍

在.NET应用中,导出Excel是很常见的需求,导出Excel报表大致有以下三种方式:Office PIA,文件流和NPOI开源库,本文只介绍前两种方式
收藏 0 赞 0 分享

C#串口通信程序实例详解

在.NET平台下创建C#串口通信程序,.NET 2.0提供了串口通信的功能,其命名空间是System.IO.Ports,创建C#串口通信程序的具体实现是如何的呢?让我们开始吧
收藏 0 赞 0 分享
查看更多