微信开发系列----01:成为开发者

简介: 微信开发系列----01:成为开发者

利用第三方的SDKSenparc.Weixin.MP】来开发属于自己的微信公众号。


项目的GitHub地址:https://github.com/Andyahui/xgyxsh_WeiXin


  这个系列是自己做的一个dome,主要想通过这个练习理清微信开发的基本流程和网站开发的思路,学会在项目实战中学习知识,使自己朝大牛的路上更近一步。

废话不多说--进入主题。


一:开发工具大礼包



 微信公众平台开发者API:    http://mp.weixin.qq.com/wiki/home/index.html


 微信公众号平台接口调试工具: https://mp.weixin.qq.com/debug/cgi-bin/apiinfo?t=index&type=%E6%B6%88%E6%81%AF%E6%8E%A5%E5%8F%A3%E8%B0%83%E8%AF%95&form=%E8%A7%86%E9%A2%91%E6%B6%88%E6%81%AF


 Senparc.Weixin.MP的github地址: https://github.com/JeffreySu/WeiXinMPSDK/ 


 Senparc.Weixin.MP的官方博客地址http://www.cnblogs.com/szw/archive/2013/05/14/weixin-course-index.html


 Senparc.Weixin.MP的官方网页地址:http://weixin.senparc.com/QA



二:了解微信通信流程



  我们知道只要关注微信公众号,就可以和公众号进行简单的通信;比如公众号发送新闻,用户点击微信公众号菜单得到一系列回复,这些就是简单的通信。



2.1--通信原理:



   需要知道客户端发送的请求不是直接到达我们的网站服务器的,而是通过微信服务器转发的,我们的每一次和微信公众号互动都是通过微信的服务器来做中间人(这么叫),这样才能正常的进行一些简单的交互。交互是通过XML文件的格式来进行传递的,具体可以看大神的图。


679140-20160625084220469-877392102.png


这个图可以清楚的看到二者的通信过程,利用第三方的SDK可以把 2,4的流程简化,因为它进行了封装,我们需要做的就是 3 处理一些逻辑关系,调用第三方的SDK完成2,4的功能。


   微信服务器和网站的通信-----XML   <微信开发者资料里面有具体的通信数据交互过程>


679140-20160625084222672-1678556737.png


2.2--注意事项


  • 每条XML信息由大小限制,Content内容不要超过600字;


  • 步骤2之后微信服务器有个等待时间:5秒,时间内没有到底4,那么请求就会被关闭。


  • 同一个用户关注了两个不同的公众号,他会产生两个不同的OpenId;


  • CreateTime使用的是Unix时间,需要进行转换;


  • 保证官方API的节点顺序;


  • 上面的通信图是单项的,不会从网站向客户端主动推动消息,都是我们在客户端请求才响应得到的;


三:成为开发者



   完成微信的开发,我们需要申请微信的公众号(服务号/订阅号)。这两者是有区别的,自己申请的时候就可以看到;由于我们是开发dome,所有就利用微信的测试号来完成就可以,将来部署的时候直接替换就可以。


测试号申请页面:  ttp://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

<直接通过微信扫码登陆就可以免费使用一年,基本的开发接口都有,足以完成常规的开发测试,特别的好。>


我们申请页面成功之后就可以看到具体的测试号信息接口配置信息,我们需要配置接口的信息;配置接口信息我们需要一个服务器和域名(可以是服务器的IP);


679140-20160625084224047-1299749010.png


成为开发者的前提是:微信服务器向网站服务器发送GET请求,通过网站服务器将介绍到的随机字符串发送回微信服务器,这样就验证成功就可以成为开发者了。之后的每一次请求就是POST请求。


 URL:  指能够接收处理微信服务器发送的GET/POST请求,且地址是存在的,可以通过浏览器访问的。特定到某个处理get请求的页面 .


 Token:可由开发者任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。


3.1--完成认证


  直接新建个空MVC4的项目,引用SDK,添加相应的引用,新建WeixinController控制器,填写下面的代码,直接发布就可以。不需要添加视图,部署到网站服务器上面就可以完成认证,成为开发者。


namespace XGY_WeiXin.Controllers
{
    /// <summary>
    /// 微信服务器发送的GET/POST请求,从这里在到别的地方去处理相应的逻辑。
    /// </summary>
    public class WeiXinController : Controller
    {
        public static readonly string Token = "xgyweixin"; //与微信公众账号后台的Token设置保持一致,区分大小写。        
        #region GET验证请求
        /// <summary>
        /// 微信后台验证地址(Get请求处理)
        /// </summary>
        [HttpGet]
        [ActionName("Index")]
        public ActionResult Get(PostModel postModel, string echostr)
        {
            if (CheckSignature.Check(postModel.Signature, postModel.Timestamp, postModel.Nonce, Token))
            {
                return Content(echostr); //返回随机字符串则表示验证通过,,官网的有说明。
            }
            else
            {
                return
                    Content("failed:" + postModel.Signature + "," +
                            CheckSignature.GetSignature(postModel.Timestamp, postModel.Nonce, Token) + "。" +
                            "如果你在浏览器中看到这句话,说明此地址可以被作为微信公众账号后台的Url,请注意保持Token一致。");
            }
        }
        #endregion
    }
}



将这样的项目发布到服务器部署,在URL和Token处填写相关的内容,看是否合格;本项目的填写URL:http:www.xgy.llili.cn/Weixin ,URL是具体到相关页面的,这样才会请求到具体的控制器。 Token: xgyweixin ,这个要和自己控制器里面填写的一样。


这样就成为了开发者,接下来就可以进行一系列相关的操作。利用SDK就可以完成微信的相关功能了。




目录
相关文章
|
JSON 小程序 JavaScript
|
4月前
|
开发者
作为微信小游戏开发者,这份白皮书不看可太吃亏了!
作为微信小游戏开发者,这份白皮书不看可太吃亏了!
150 1
|
小程序 开发者
微信小程序 - 开发者账号申请流程
微信小程序 - 开发者账号申请流程
467 0
|
开发工具 开发者
微信公众平台开发(3)--成为开发者并购置服务器环境
本文目录 1. 前言 2. 成为开发者 3. 服务器 4. 微信对服务器的要求 5. 内网穿透 6. 小结
167 0
|
监控 C# 开发者
微信成为开发者C#代码
第一句话都会这么去写:程序猿就是苦逼,除了开发还要会写博文!今天咱就和大家探讨下如何让自己成为开发者!那么怎么才能成为开发者呢? 首先给大家一个微信的截图,看到这个截图,是不是有想去尝试的冲动? C#开发微信,一般都要写一个一般处理程序,就像截图中的.../CommonCS/WeiXin.ashx,这个一般处理程序会接收用户消息或开发者进行的事件推送。
927 0
|
XML C# 开发工具
Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者
原文:Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者     这一篇主要讲作为一名使用公众平台接口的开发者,你需要知道的一些东西。其中也涉及到一些微信官方的规定或比较掩蔽的注意点。
1180 0
|
大数据 开发者
微信的平台黏性远大于直达号 第三方开发者依旧会选择微信公众平台
  “再小的个体,也有自己的品牌”微信公众号走的是粉丝为王的路线,而直达号的slogan“随时随地 直达所需”与微信公众号相比显得更加直接粗暴。    众所周知,腾讯成于社交,百度成于搜索;腾讯的付费用户大多数是个人,而百度针对更多的是企业。
1345 0

热门文章

最新文章

下一篇
DDNS