• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

微信公众号入门学习1_使用C#,ASP.NETAPIController如何公众号接入服务器并启动开发者 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

微信公众号入门学习1_使用C#,ASP.NET APIController如何公众号接入服务器并启动开发者模式

前言:  本文是以微信公众号中的订阅号(个人)来进行简单介绍,本人也是刚刚开始学习,有不足之处,欢迎批评指正。

先粘贴2个帮助链接:

入门指引:http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5&token=&lang=zh_CN

微信开发介绍-源代码分享:http://www.cnblogs.com/pmars/p/3680615.html

 

1-去微信公众平台申请属于你的订阅号。  https://mp.weixin.qq.com/

基本信息如下:

2-点击菜单:开发--基本配置:

3-点击修改配置:

为了方便入手:URL必填,Token自己起名,EncodingAESKey随机生成即可,最后一个使用明文方式。

 URL:自己代码后生成的可以在外网访问的接口地址,可以使用一般处理程序或者MVC中API控制器等。下面将会介绍服务器代码写法;

Token:用于验证服务器消息是否来自微信服务器;

EncodingAESKey:消息加密钥匙,如果第四个选项使用明文方式,不需理会,咱们随机生成即可。

4-准备微信服务器接入代码服务器接口:

将API项目发布后,COPY到外网可以访问的服务器中,并部署到IIS上。

一版路径如下:http://服务器域名(必须80端口)/站点名/GzhTest/Check

这一步可参考文章:

入门指引:http://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5&token=&lang=zh_CN

微信开发介绍-源代码分享:http://www.cnblogs.com/pmars/p/3680615.html

    public static HttpResponseMessage GetReturn(string message)
        {
            return new HttpResponseMessage
            {
                Content = new StringContent(message, Encoding.UTF8, "text/html")
            };
        }
        /// <summary>
        /// 公众号接入测试
        /// </summary>
        /// <param name="signature">微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。</param>
        /// <param name="timestamp">时间戳</param>
        /// <param name="nonce">随机数</param>
        /// <param name="echostr">随机字符串</param>
        /// <returns>开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。</returns>
        [HttpGet]
        [Route("Check")]
        public HttpResponseMessage Check(string signature, string timestamp, string nonce, string echostr)
        {
            var myToken = ConfigurationManager.AppSettings["myToken"];

            var list = new string[] { myToken, timestamp, nonce };
            Array.Sort(list);
            var sortStr = string.Join("", list);
            var sha1Str = FormsAuthentication.HashPasswordForStoringInConfigFile(sortStr, "SHA1").ToLower();

            if (sha1Str == signature && !string.IsNullOrEmpty(echostr))     //根据微信的验证规则做判断
                return GetReturn(echostr);

            return GetReturn("error");
        }

 

5-接入微信服务器:

将上面接口地址放入URL中,即可,最后提交确认。    

点击提交按钮。若提示”token验证失败”, 请认真检查代码或网络链接等。  若token验证成功,会自动返回基本配置的主页面,点击启动按钮

6-备注:本人遇到过token验证失败,我的原因是因为接口直接返回要求的随机字符串,但是这里使用API,似乎必须是HttpResponseMessage ,

如果是一般处理程序,使用:

    HttpContext.Current.Response.Write(echoString);
    HttpContext.Current.Response.End();

 

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NET页面生成静态HTML页面发布时间:2022-07-10
下一篇:
编程实现 ASP.NET 3.5开发范例精讲精析 探讨FormView控件发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap