1. 您得从微信官方平台注册一个微信订阅号:
2. 这个教程使用nodejs开发微信订阅号对应的消息服务器,因此需要具备基本的nodejs开发技能。
登录微信公众号平台https://mp.weixin.qq.com, 使用菜单:Development->Basic configuration:
最重要的是在订阅号的控制台里指定一个消息服务器的url。如下图所示。这个消息服务器的url从哪里来?
我会用nodejs开发一个服务器,部署到Salesforce的云平台Heroku上。
当您的微信订阅号的粉丝通过微信App同您的订阅号交互,比如发消息,或者使用您的微信订阅号自定义菜单时,这些请求就会通过微信App转发到您的nodejs消息服务器上。
但是当您配置的消息服务器要真正起作用,还得先通过一个验证。验证流程在微信官网上: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5
微信官网上提供的验证流程的实现是用Python写的,我提供了一个nodejs版本的实现。
我们在微信订阅号的控制台点了Submit按钮之后,微信框架会发送一个HTTP请求到你的微信服务器去,请求明细如下:
https://<your server url>/?signature=096abd439b41f9610aeabe2d7534084fd8dafa20&echostr=16168327802220428137×tamp=1512810825&nonce=384289189
您的微信服务器的职责就是:按照上面流程图定义的规范,计算根据您微信订阅号的token(令牌),时间戳和nonce字段,计算出一个签名值,然后同发到消息服务器的签名值做对比。如果对比发现两者不一致,会收到错误消息“Token authentication failed”。
下面是如何用nodejs开发使得消息服务器通过验证流程。
1. 创建一个新的nodejs工程,下列package.json文件里高亮部分是用于消息服务器通信的重要部分。
主要的逻辑位于server.js里。
2. Server.js的主要代码:
var express = require('express');
var routesEngine = require('./index.js');
var app = express();
routesEngine(app);
app.listen(process.env.PORT || 3000, function () {
console.log('Listening on port, process.cwd(): ' + process.cwd() );
});
In implementation of index.js, now we need to implement verification process:
var request = require('request');
var jsSHA = require('jssha');
module.exports = function (app) {
app.route('/').get(function(req,res){
var token="jerry"; // replace it with your own token
var signature = req.query.signature,
timestamp = req.query.timestamp,
echostr = req.query.echostr,
nonce = req.query.nonce;
oriArray = new Array();
oriArray[0] = nonce;
oriArray[1] = timestamp;
oriArray[2] = token;
oriArray.sort();
var original = oriArray.join('');
var shaObj = new jsSHA("SHA-1", 'TEXT');
shaObj.update(original);
var scyptoString = shaObj.getHash('HEX');
console.log("calculated string: " + scyptoString);
if (signature == scyptoString) {
res.send(echostr);
} else {
res.send('bad token');
}
});
};
3. 将该nodejs应用部署到Heroku平台。具体操作参考Heroku的操作手册。
回到订阅号的操作台,发现我们的nodejs微信服务器认证成功,可以做开发了。
相关推荐
这门教程深入浅出地讲解了Java在构建微信小程序后端服务中的应用,让开发者能够掌握从服务器端处理数据、响应小程序请求到实现页面动态化的一系列技能。 首先,我们要理解Java在后端开发中的角色。Java是一种广泛...
在“微信小程序开发教程 学习视频(一)”中,你将首先了解到微信小程序的开发环境搭建。这包括安装微信开发者工具,它是开发微信小程序的重要平台,提供了代码编辑、预览、调试和发布等一系列功能。你需要注册微信...
一、微信小程序开发环境搭建 在开始微信小程序的开发之前,你需要先安装微信开发者工具。这个工具提供了代码编辑、预览、调试以及发布等一系列功能。你可以从微信官方开发者网站下载,按照指引进行安装。安装完成后...
组件是微信小程序开发中的一个重要概念,它类似于网页中的HTML元素,每个组件具有自己的属性和事件。微信小程序官方提供了一系列的内置组件,例如:view、text、button、input、image等。组件可以被复用,也可以通过...
另外,教程还将提供一系列实际案例分析,通过具体项目来加深开发者对微信小程序开发的理解。案例包括电商类小程序、工具类小程序、内容展示类小程序等,覆盖了小程序开发的常见应用场景。每个案例都会详细讲解项目...
1. **开发环境搭建**:首先,学习者需要了解如何安装和配置微信开发者工具,这是开发小程序的基础。这个工具提供了代码编辑、预览、调试等一系列功能,让开发者能高效地进行小程序的开发工作。 2. **小程序结构**:...
1. **微信小程序开发环境搭建**:首先,你需要安装微信开发者工具,它提供了编写、预览和调试小程序的集成环境。在工具中,你需要注册并获取小程序的AppID,这是小程序身份的标识。 2. **小程序框架理解**:微信小...
微信小程序的开发需要遵循一定的步骤和方法,包括准备开发环境、项目搭建、代码编写、调试、样式和布局设计以及第三方库的集成等。通过这些步骤,开发者可以快速有效地开始开发第一个微信小程序,并在实践中不断进步...
一、小程序开发环境搭建 开发微信小程序前,首先需要安装微信开发者工具。该工具提供了代码编辑、预览、调试等一站式服务。下载并安装后,通过注册微信开放平台账号,关联小程序,然后创建新的项目,设置项目的基本...
在“微信小程序开发实用教程 PPT”中,将系统地介绍微信小程序的基本概念、开发环境搭建、基础框架、组件使用、API应用、页面布局、交互设计、性能优化、发布上线等关键知识点。这些内容都是微信小程序开发中必须...
一、微信小程序开发环境搭建 在开始微信小程序的开发之前,你需要安装微信开发者工具。这个工具集成了代码编辑、预览、调试和发布等功能,是开发小程序的基础。下载并安装后,可以通过它创建新的小程序项目,设置...
在"微信小程序入门教程+案例demo.rar"这个压缩包中,你将找到一系列学习微信小程序开发的资料和实战案例。这些资源旨在帮助初学者快速理解并掌握微信小程序的基本概念、开发环境的搭建、以及实际应用的构建方法。 1...
2. **小游戏开发环境搭建**: 开发微信小游戏前,你需要安装微信开发者工具,这是一个集成了调试、预览、发布等多功能的平台。通过它,你可以编写代码、查看实时效果、调试错误,并最终将小游戏提交到微信审核。 3...
一、微信小程序开发环境搭建 在开始微信小程序的开发之前,首先需要下载并安装微信开发者工具。该工具集成了代码编辑、预览、调试和发布等功能,是开发微信小程序的基础。安装完成后,注册微信开发者账号,关联小...
总的来说,这个开源项目提供了实践微信小程序开发、云服务应用和电商平台构建的绝佳机会。无论是对个人技能提升还是团队协作,都有着积极的意义。通过深入学习和定制这个源代码,你可以掌握微信小程序的开发技术,...
总的来说,“云开发喝酒神器2.0微信小程序”是一个结合了云开发、流量主和趣味游戏功能的项目,对于想要学习微信小程序开发,尤其是云开发和广告变现的开发者来说,这是一个很好的实践案例。通过研究这个源码,你...
在这个“微信小程序生鲜商城小程序源码”中,包含了一系列资源,帮助开发者或商家快速搭建自己的生鲜电商平台。 首先,源码是程序的核心部分,它是由编程语言编写的指令集,用于控制计算机执行特定任务。在这个项目...
2. **微信小程序开发环境搭建**:开发微信小程序需要安装微信开发者工具,这是一个集成了代码编辑、预览、调试和发布等功能的平台。 3. **WXML与WXSS**:这是微信小程序的两种特殊语言,WXML类似于HTML,负责结构...
微信开发者工具是进行小程序开发的重要辅助工具,它提供了代码编辑、预览、调试和发布等一系列功能,有助于开发者高效地完成项目开发。 6. 实战经验与学习价值: 通过研究这个点餐系统,开发者不仅可以掌握微信小...
在这个“微信小程序生鲜商城小程序源码”中,包含了一系列资源,帮助开发者或商家快速搭建自己的生鲜电商平台。 源码是程序的核心部分,它是由编程语言编写的指令集,用于控制计算机执行特定任务。在这个项目中,...