微信公众平台开发
微信公众平台为第三方用户和有需要跟微信打通的App和Web网站提供了便利,利用微信公众平台提供的相关接口,可以很好快速的开发出较为丰富的包括消息模板、微信支付、客服服务等等功能。
-
微信成本低廉 ——传统的营销推广成本高,而在微信而言本身使用是免费的,而且使用过程中只会收取低廉的流量费用,那么通过微信开展微信营销活动的成本自然非常低的。
-
微信定位营销定位精准——微信公众账号让粉丝的分类更加多样化和多元化,可以通过后台的用户分组和地域控制实现精准的消息推送,也就是说可以把你的不同的粉丝放在不同的分类下面。在信息发送的时候,可以针对用户的特点实现精准的消息推送。
-
营销信息到达率高——由于每一条信息都是以推送通知的形式发送,你所发布的每一条信息都会送到你的用户手中,到达率可以到达100%。
开始微信公众账号开发
注册微信公众平台账号
微信公众平台账号分为服务号和订阅号。
微信公众平台服务号,顾名思义,主要是给客户提供服务的。一般银行和企业做客户服务用的比较多。主要功能和权限如下:
1、不用通过腾讯的微信认证,可以免费申请获得自定义菜单。
2、服务号一个月能群发4条信息。
3、服务号群发信息的时候,用户手机会像收到短信一样接收到信息,显示在用户的聊天列表当中。
4、服务号通过认证后可申请微信支付。而订阅号不能。
微信公众平台订阅号。主要是提供信息和资讯。一般媒体用的比较多。5.0版本的微信公众平台订阅号主要功能和权限:
1、微信公众平台订阅号每天都可以群发一条群发信息。群发的信息直接出现在订阅号文件夹中。
2、订阅号群发信息时候,手机微信用户将不会收到像短信那样的消息提醒。
3、在手机微信用户的通讯录中,订阅号将被放入订阅号文件夹中。同时订阅号发布的消息也会折叠在订阅号文件夹中。
4、 订阅号要获得自定义菜单,需要提交300元,申请腾讯的微信认证。
注意:目前微信已开通企业号,为企业提供相关OA方面的服务,有兴趣可以了解一下,本系列文章只针对服务号和订阅号进行研究和学习。
(1)进入微信公众平台注册自己需要的相关账号,服务号由于需要审核,所以需要等待微信那边进行审核流程通过。
1.png(2)目前Google上面已有很多相关的Sdk,版本支持C#、NodeJs、PHP等。本系列是在C#版本SDK础上进行的开发,可Google相关SDK,自主选择相应的版本进行自主开发。
2.png本系列决定跟着微信公众平台开发文档进行一步一步的学习微信开发。有兴趣的可以一起交流学习。
3.png接入微信开发
1.进入开发—基本配置,填写服务器配置,其中Url也就是微信服务器的中转请求的地址,此地址需要是你自己网站的站点;Token可以自己设置,Token将为微信请求进行加密的参数,微信(公众号)里的token可以理解为与对应url定义的一个密码;EncodingAESKey为消息加密密钥由43位字符组成,可随机修改,字符范围为A-Z,a-z,0-9。可以随机生成。
配置填写完成过后提交,微信会向你的站点发送get请求,验证url和相关参数的有效性。
注意:后台站点的配置必须跟微信公众平台的配置保持一致,否现微信在验证站点是否合法的时候,返回配置不正确。其中的appKey和appSecret是为微信自动给我们分配的密钥。
2.微信为了便于开发者测试,提供了微信公众平台测试账号,点击开发者中心-公众平台测试帐号-进入,和配置微信服务器配置一样,填写自己的服务器请求地址和Token,填写的URL需要正确响应微信发送的Token验证。
5.png获取access_token
access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。
可以使用微信测试工具,获取对应的AccessToken。
6.png发布网站,验证Token
发布网站以后,浏览网站,如果看到url请求得到的结果如图所示,则证明站点可以正确响应微信服务器的响应。
7.png对应的项目中的Control为WeixinControl,
[HttpGet]
[ActionName("Index")]
public ActionResult Get(string signature, string timestamp, string nonce, string echostr) {
if (CheckSignature.Check(signature, timestamp, nonce, Token)) {
return Content(echostr);
//返回随机字符串则表示验证通过 }
else {
return Content("failed:" + signature + "," +
Senparc.Weixin.MP.CheckSignature.GetSignature(timestamp, nonce, Token) + "。" + "如果你在浏览器中看到这句话,说明此地址可以被作为微信公众账号后台的Url,请注意保持Token一致。"); } }
源码地址github:https://github.com/AkonCoder/WeixinDevelop.git
本章之说明了一些基础配置和校验,有兴趣可以clone下源码看下业务逻辑,后续会实现一些功能开发。例如获取周围的Free WIFi、各地区的天气预报、获取最新资讯等。大家可以一起学习交流,有错误之处,请指教!
网友评论