C#微信公众号开发

Posted loyung

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#微信公众号开发相关的知识,希望对你有一定的参考价值。

第一步:注册微信公众账号

如果开发测试阶段可以打开测试链接地址,注册测试公众号。测试账号除了不能与正式账号通信外其他什么高级接口的都可以实现。

测试号管理地址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

账号开通成功后系统会分配两个账号信息:appID、appsecret作为此账号的标识。

第二步:接口配置信息

这里的接口配置主要为保证微信能与你所建的站点进行数据交互,并且数据的传递要符合规则。

这里需要完成两个参数配置:

URL:你可以在自己的项目中新建一个action或者其他在微信访问此地址时能返回数据就行。

Token:一个建立两者对话的口令,设置完成后项目中也需要配置同样的Token方可正常通信。

这里你可以在定义的URL中直接返回微信的请求“echostr”参数值,当然正常情况下是需要按照规则验证数据的请求安全后返回。

可以在请求的URL指定的Action中按照微信官方提示,做如下签名验证(这样做属于安全的):

public ActionResult Webcatch()
        {
            string token = "loyung";
            if (string.IsNullOrWhiteSpace(token))
            {
                return null;
            }

            string echoStr = Request.QueryString["echoStr"];//随机字符串 
            string signature = Request.QueryString["signature"];//微信加密签名
            string timestamp = Request.QueryString["timestamp"];//时间戳 
            string nonce = Request.QueryString["nonce"];//随机数 
            string[] ArrTmp = { token, timestamp, nonce };
            Array.Sort(ArrTmp);     //字典排序
            string tmpStr = string.Join("", ArrTmp);
            tmpStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
            tmpStr = tmpStr.ToLower();
            if (tmpStr == signature)
            {
                return Content(echoStr);
            }
            else
            {
                return Content("false");
            }
        }

第三步:JS接口安全域名配置

按照页面的提示,配置上需要做微信接口的域名配置。

 

以上是关于C#微信公众号开发的主要内容,如果未能解决你的问题,请参考以下文章

企业号微信支付 公众号支付 H5调起支付API示例代码 JSSDK C# .NET

C#微信公众号开发

关于C#微信公众号开发的前言说明

《C#微信开发系列-自定义菜单管理》

微信公众号开发-----个人测试装备

C#微信公众号开发 -- 获取API调用所需的全局唯一票据access_token