微信公众开发的准备
2015-08-07 21:21
519 查看
首先,你需要申请一个微信公众平台的账号,个人的话申请的只能是订阅号,设置好自己的信息即可。
对于订阅号来说,有两种编辑模式,第一种就是普通的编辑模式,可以实现的操作如下图所示:
个人感觉就是一些模板,自己改改标题,改改名字之类的,实现的功能有限。
第二种模式是开发者模式,也是作为微信开发者来说需要操作的。进入开发者中心后,
按照要求填写好URL,和token。
这里先简单说明一下这个URL和token:
URL是你开发微信公众平台的那个页面的地址,所以说前提是你还得有一个服务器才行,也就是有一个网站就OK了。(还在现在的云服务很便捷,可以去阿里云买一个域名,一年才十几块,它还自动帮你绑定主机和设置域名解析,非常方便)token呢就是微信开发第三方API接口,需要你自己设置好,过程就是在代码里实现。
申请好阿里云的主机后,输入自己的域名显示的应该是它提前放好的一个页面,你可以用ftp地址进入后删除,放入自己的页面。
例如我用VS2013新建了一个ASP.NET的空网站,并且新建了一个Web窗体页面,并且在.cs页面写好一下代码,让微信公众平台能够验证通过:
之后想要开发什么功能就可以在后台的项目文件中具体操作。
对于订阅号来说,有两种编辑模式,第一种就是普通的编辑模式,可以实现的操作如下图所示:
个人感觉就是一些模板,自己改改标题,改改名字之类的,实现的功能有限。
第二种模式是开发者模式,也是作为微信开发者来说需要操作的。进入开发者中心后,
按照要求填写好URL,和token。
这里先简单说明一下这个URL和token:
URL是你开发微信公众平台的那个页面的地址,所以说前提是你还得有一个服务器才行,也就是有一个网站就OK了。(还在现在的云服务很便捷,可以去阿里云买一个域名,一年才十几块,它还自动帮你绑定主机和设置域名解析,非常方便)token呢就是微信开发第三方API接口,需要你自己设置好,过程就是在代码里实现。
申请好阿里云的主机后,输入自己的域名显示的应该是它提前放好的一个页面,你可以用ftp地址进入后删除,放入自己的页面。
例如我用VS2013新建了一个ASP.NET的空网站,并且新建了一个Web窗体页面,并且在.cs页面写好一下代码,让微信公众平台能够验证通过:
using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.IO; using System.Net; using System.Text; using System.Xml; using System.Web.Security; using System; public partial class weixin : System.Web.UI.Page { const string Token = "weixin";//你的token protected void Page_Load(object sender, EventArgs e) { string postStr = ""; if (Request.HttpMethod.ToLower() == "post") { System.IO.Stream s = System.Web.HttpContext.Current.Request.InputStream; byte[] b = new byte[s.Length]; s.Read(b, 0, (int)s.Length); postStr = System.Text.Encoding.UTF8.GetString(b); if (!string.IsNullOrEmpty(postStr)) { //ResponseMsg(postStr); Response.Write(ResponseMsg(postStr)); Response.End(); } //WriteLog("postStr:" + postStr); } else { Valid(); } } /// <summary> /// 验证微信签名 /// </summary> /// * 将token、timestamp、nonce三个参数进行字典序排序 /// * 将三个参数字符串拼接成一个字符串进行sha1加密 /// * 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。 /// <returns></returns> private bool CheckSignature() { string signature = Request.QueryString["signature"].ToString(); string timestamp = Request.QueryString["timestamp"].ToString(); string nonce = Request.QueryString["nonce"].ToString(); string[] ArrTmp = { Token, timestamp, nonce }; Array.Sort(ArrTmp); //字典排序 string tmpStr = string.Join("", ArrTmp); tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1"); tmpStr = tmpStr.ToLower(); if (tmpStr == signature) { return true; } else { return false; } } private void Valid() { try { string echoStr = Request.QueryString["echoStr"].ToString(); if (CheckSignature()) { if (!string.IsNullOrEmpty(echoStr)) { Response.Write(echoStr); Response.End(); } } } catch { } } /// <summary> /// 返回信息结果(微信信息返回) /// </summary> /// <param name="weixinXML"></param> private string ResponseMsg(string weixinXML) { ///这里写你的返回信息代码 return weixinXML = ""; } /// <summary> /// unix时间转换为datetime /// </summary> /// <param name="timeStamp"></param> /// <returns></returns> private DateTime UnixTimeToTime(string timeStamp) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(timeStamp + "0000000"); TimeSpan toNow = new TimeSpan(lTime); return dtStart.Add(toNow); } /// <summary> /// datetime转换为unixtime /// </summary> /// <param name="time"></param> /// <returns></returns> private int ConvertDateTimeInt(System.DateTime time) { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); return (int)(time - startTime).TotalSeconds; } /// <summary> /// 写日志(用于跟踪) /// </summary> private void WriteLog(string strMemo) { string filename = Server.MapPath("/logs/log.txt"); if (!Directory.Exists(Server.MapPath("//logs//"))) Directory.CreateDirectory("//logs//"); StreamWriter sr = null; try { if (!File.Exists(filename)) { sr = File.CreateText(filename); } else { sr = File.AppendText(filename); } sr.WriteLine(strMemo); } catch { } finally { if (sr != null) sr.Close(); } } }之后就OK了,可以先试试通过访问自己的域名看看页面是否正常显示,之后再填写好token,提交成功即可。
之后想要开发什么功能就可以在后台的项目文件中具体操作。
相关文章推荐
- 如何抓微信的请求
- 关于微信开发的一些总结(JAVA开发)
- 如何抓微信的请求
- 微信高级接口获取用户基本信息
- iOS开发 - 微信扫描二维码登录网页的原理
- android 微信支付成功,未返回回调页面
- 微信开放平台,公众号第三方平台接入
- PHP微信支付开发
- 微信公众平台多客服
- WP&Win10仿微信消息框代码分享
- WP&Win10仿微信消息框代码分享
- 由一个小程序引发对 size_type类型的思考
- 微信开放JS SDK,这场web巨变意味着什么?
- 微信开发-接入说明
- 微信公众号接入第三方管理平台和创建微官网
- 个人互发微信红包到底要不要交税?听税务总局怎么说
- 微信商城的价值
- 微信携手第三方再造新平台 - 公众号第三方平台介绍
- Java Web【5】模拟服务器的读取网页读的小程序
- 微信支付V3版本的那些事