码迷,mamicode.com
首页 > 微信 > 详细

.net微信公众号开发

时间:2016-03-02 23:27:16      阅读:398      评论:0      收藏:0      [点我收藏+]

标签:

  1. 微信公众号最近很火啊,玉景哥哥碰巧会一点,没错,哥哥我要授业了!

1,申请测试账号

微信的开发文档地址是 http://mp.weixin.qq.com/wiki/home/

进入微信开发文档,点击开始开发,里面有个 测试号申请

技术分享

 

点击测试号申请后,会有个二维码,用你的微信扫一下就好了,进入之后你会到一个配置页面

 

技术分享

 

   appid,相当于你的账号

   appsecret,相当于你的密码

   url 你服务器的网址,我这里用的IP,如果你没有服务器可以用自己的电脑公网IP

   Token 这个是你设置的,微信会和你的服务器匹配,(现在不要急着去配置,就现在这样是不可能成功的....)

TOKEN 是你自己设置的,这句话我们暂且先不管他,写服务器代码的时候自然就知道了

 

微信会根据你配置的URL发起http get请求,并且带有4个参数,建立和你配置服务器地址的连接 

 

 

接下来我们看一下连接规则

技术分享

 

这里讲了4个参数

signature 这个是随机数时间戳和Token排序后,进行了shi1加密后的字符串

timestamp 这个时间戳

nonce 这个是随机数

token  你设置的Token

 

 

上面讲了微信那边的配置,仔细看一下就好,我们要做服务器端的开发,做完之后再去配置这些才可以连接成功

 

 

  1.     public class HomeController : Controller     {   
  2.     /// <summary>    
  3.     /// 注意这里,这个就是Token,你自己写的! 随便写,瞎写也行
  4.     /// </summary>     
  5.     public string Token { get { return "168465814689"; } }       
  6.    /// <summary>    
  7.    /// 微信请求的地址     
  8.    /// </summary>  
  9.    /// <param name="echostr">随机字符串,用于返回微信</param>      
  10.    /// <param name="signature">微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。 </param>   
  11.    /// <param name="timestamp">时间戳 </param>     
  12.    /// <param name="nonce">随机数</param>      
  13.    /// <returns></returns>      
  14.    public object WeChat (string echostr, string signature, string timestamp, string nonce)      
  15.    {            
  16.        微信会向我这个页面发起Get请求
  17.         //调用一下...有点闲的       
  18.       return CheckSignature(echostr, signature, timestamp, nonce);  
  19.     }
  20.    /// <summary>    
  21.    /// 微信请求的地址      
  22.    /// </summary>      
  23.    /// <param name="echostr">随机字符串,用于返回微信</param>      
  24.    /// <param name="signature">微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。 </param>     
  25.    /// <param name="timestamp">时间戳 </param>    
  26.    /// <param name="nonce">随机数</param>      
  27.    /// <returns></returns>   
  28.     public string CheckSignature(string echostr, string signature, string timestamp, string nonce)     
  29.     {        
  30.            string str= Token+ timestamp+ nonce;//将字符处连接,
  31.            str= FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1");    //进行sha1加密      //.net高版本已经弃用
  32.            str= str.ToLower();
  33.             if (str== signature)    
  34.             return echostr; //判断成功,返回校验数据      
  35.             else                
  36.             return "";
  37.         }
  38.     }

              上面是服务器代码,以MVC为例

              接下来部署到IIS上,

             测试你的网站是否完成

 

      部署成功后我们回到微信页面

 

      在接口配置信息后点击修改,url填写你的网址,精确到控制器

      Token就是你自己写的!

     技术分享

 

          点击提交后如果成功会出现下面这样

 

技术分享

不然也出这个页面不过上面写的是连接失败

   交流群号 460845632

   后面接着讲怎么在服务器做处理客户端发来的数据

 

 

 

 

  

 

.net微信公众号开发

标签:

原文地址:http://www.cnblogs.com/wangxianggong/p/5236587.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!