微信开发系列---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.MPgithub地址https://github.com/JeffreySu/WeiXinMPSDK/
Senparc.Weixin.MPhttp://www.cnblogs.com/szw/archive/2013/05/14/weixin-course-index.html
Senparc.Weixin.MP的官方网页地址:http://weixin.senparc.com/QA

二:了解微信通信流程

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

2.1--通信原理:

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

[](file:///C:/Users/Ahui/AppData/Local/Temp/WindowsLiveWriter-274329463/supfiles1E194197/image_thumb92.png)
这个图可以清楚的看到二者的通信过程,利用第三方的SDK可以把2,4的流程简化,因为它进行了封装,我们需要做的就是 3 处理一些逻辑关系,调用第三方的SDK完成2,4的功能。
微信服务器和网站的通信-----XML


<微信开发者资料里面有具体的通信数据交互过程>
[](file:///C:/Users/Ahui/AppData/Local/Temp/WindowsLiveWriter-274329463/supfiles1E194197/image_thumb12.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);

[](file:///C:/Users/Ahui/AppData/Local/Temp/WindowsLiveWriter-274329463/supfiles1E194197/image_thumb72.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就可以完成微信的相关功能了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容