微信运用热火朝天,许多公司都愿望搭上信息快车,这个是一个商机,也是一个手艺的方向,因而,有空研讨下、进修下微信的相干开辟,也就成为一样平常设计的重要事变之一了。本系列文章愿望从一个循规蹈矩的角度上,周全引见微信的相干开辟进程和相干经验总结,愿望给人人相识一下相干的开辟进程。本漫笔重要针对微信开辟进程的前期预备和一些初始的事情的引见。
在写下本文的之前一周时间里,我重要就是参考一些引见文章以及微信民众平台的相干接口申明,并连系C#的代码开辟,整理了本身公司的流派界面,完成了微信事情号的开端用户交互和信息展现事情,跟着事情的进一步展开,越来越多的功用能够到场,并愿望从运用角度上扩大微信的接口,从而完成我对微信接口的手艺探秘和相识进程。
1、微信账号
要开辟运用微信的平台API,就须要到微信的民众平台去注册,具有一个效劳号或许定阅号,效劳号重要面临企业和构造,定阅号重要面向构造和个人,他们之间有肯定的差别,依据差别的须要本身要求对应的账号即可。
为了运用一些高等的接口,你能够须要具有效劳号和高等的认证。账号注册进程,须要下载一个要求表格,打印并盖公章,别的还须要要求人拿着身份证照相(有点奇异,呵呵),然后上传到效劳器举行考核,平常很快就可以猎取批复。
我以公司名义要求了效劳号,账号注册后,会在主界面上显现你的相干信息,别的给你要求一个二维码的东西,扫描二维码即可进入公司的微信关注确认对话框,异常轻易。以下就是我要求后的公司账号二维码,能够直接运用扫描。
2、微信菜单定义
微信有两种体式格局的菜单定义,一种是编辑形式,一种是开辟形式,二者互斥,也就是说,一旦我们采纳了开辟形式,就不能运用编辑形式了,反过来也一样。编辑下的菜单,实在也是能够治理的,然则微信不支持,觉得很不爽。
平常情况下,假如我们方才要求了微信号码,能够运用编辑菜单测试一下,依据申明编辑一些菜单尝尝。虽然微信说24小时内更新,不过平常很快,最快能够一两分钟就更新了,觉得照样不错的。
运用开辟者形式,你须要依据微信的要求,在效劳器上安排一个页面链接,运用C#开辟的,能够采纳***.ashx的定名体式格局,运用Asp.NET的平常处置惩罚顺序即可,不须要运用一般的页面。
运用开辟形式的菜单,也就是能够挪用微信API举行菜单建立的事情,关于挪用微信的API(微信有许多API能够挪用),我们须要晓得,有几个参数的重要性,所以在开辟形式翻开的时刻,会给你列出这些参数,以下所示。
3、接入微信的链接处置惩罚
上面说了,你要求开辟形式对菜单或许对其他API的挪用,你须要顺遂经由过程接入微信的测试,也就是确认你填写的链接存在并能顺遂经由微信的回调测试。微信供应了一个PHP的页面处置惩罚例子,假如我们是C#开辟的呢,能够搜一下就会取得答案,我的处置惩罚体式格局以下所示。
建立一个平常处置惩罚顺序,然后在其处置惩罚页面内里增添一个处置惩罚逻辑,假如黑白POST体式格局的内容,就是示意微信举行的Get测试,你须要增添一些处置惩罚逻辑,把它给你的内容传归去即可,假如是POST体式格局的,就是微信效劳器对接口音讯的要求操纵了,背面引见。
/// <summary> /// 微信接口。一致吸收并处置惩罚信息的进口。 /// </summary> public class wxapi : IHttpHandler { public void ProcessRequest(HttpContext context) { string postString = string.Empty; if (HttpContext.Current.Request.HttpMethod.ToUpper() == "POST") { using (Stream stream = HttpContext.Current.Request.InputStream) { Byte[] postBytes = new Byte[stream.Length]; stream.Read(postBytes, 0, (Int32)stream.Length); postString = Encoding.UTF8.GetString(postBytes); } if (!string.IsNullOrEmpty(postString)) { Execute(postString); } } else { Auth(); //微信接入的测试 } }
平常来说,Auth函数内里,就是要对相干的参数举行猎取,然后举行处置惩罚返回给微信效劳器。
string token = "****";//你要求的时刻填写的Token string echoString = HttpContext.Current.Request.QueryString["echoStr"]; string signature = HttpContext.Current.Request.QueryString["signature"]; string timestamp = HttpContext.Current.Request.QueryString["timestamp"]; string nonce = HttpContext.Current.Request.QueryString["nonce"];
完全的Author函数代码以下所示,个中我把营业逻辑举行进一步抽取到了一个新的类内里,轻易营业逻辑的治理。
/// <summary> /// 成为开辟者的第一步,考证并响应效劳器的数据 /// </summary> private void Auth() { string token = ConfigurationManager.AppSettings["WeixinToken"];//从设置文件猎取Token if (string.IsNullOrEmpty(token)) { LogTextHelper.Error(string.Format("WeixinToken 设置项没有设置!")); } string echoString = HttpContext.Current.Request.QueryString["echoStr"]; string signature = HttpContext.Current.Request.QueryString["signature"]; string timestamp = HttpContext.Current.Request.QueryString["timestamp"]; string nonce = HttpContext.Current.Request.QueryString["nonce"]; if (new BasicApi().CheckSignature(token, signature, timestamp, nonce)) { if (!string.IsNullOrEmpty(echoString)) { HttpContext.Current.Response.Write(echoString); HttpContext.Current.Response.End(); } } }
而对微信参数的署名并返回的操纵CheckSignature,代码以下所示
/// <summary> /// 考证微信署名 /// </summary> public bool CheckSignature(string token, string signature, string timestamp, string nonce) { 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; } }
4、运用开辟体式格局建立菜单
一旦你顺遂经由过程微信的认证,那末它就让你以开辟体式格局挪用它的API,而且能够随便建立你的菜单了。
建立菜单的体式格局,你能够经由过程下面的位置进入到他的API处置惩罚界面内里。
进入后,你会发明微信把许多音讯的处置惩罚,分门别类放到差别的分类内里了。
实在我们如今开端要做的就是怎样看看,运用代码体式格局挪用建立菜单,进入菜单的API调试界面内里。
你会发明内里还须要输入一个Access_Token的东西,这个是一个会话身份认证,因而你还须要到接口内里去找这个怎样建立的。下面图中的两个赤色部份,就是我们最先的时刻,微信提醒我们“开辟者凭证”的两个症结参数。
弄完这些,你就可以够依据取得的Access_Token举行菜单的建立事情了,依据菜单的定义,它分为几类,能够分为URL体式格局(View),事宜体式格局(Click)。
click:用户点击click范例按钮后,微信效劳器会经由过程音讯接口推送音讯范例为event 的构造给开辟者(参考音讯接口指南),而且带上按钮中开辟者填写的key值,开辟者能够经由过程自定义的key值与用户举行交互;
view:用户点击view范例按钮后,微信客户端将会翻开开辟者在按钮中填写的url值(即网页链接),到达翻开网页的目标,发起与网页受权猎取用户基本信息接口连系,取得用户的登入个人信息。
5、我建立的菜单案例
在漫笔的最先,我宣布了一个二维码,一旦运用微信扫一扫,举行关注效劳号后,那末就可以够看到我本身建立的菜单了。主菜单平常最多三列,每一个主菜单还能够有子菜单,他们的笔墨都有所限定的。
我们来看看我公司的微信流派菜单,看起来是否是很酷呢。
以上就是C#开辟微信流派及运用(一)之微信接口的怎样运用(图)的细致内容,更多请关注ki4网别的相干文章!