频道栏目
首页 > 资讯 > 微信公众平台开发 > 正文

微信公众号开发教程[002]-配置

16-07-11        来源:[db:作者]  
收藏   我要投稿

一.注册微信公众号

微信公众号官方入口https://mp.weixin.qq.com注册公众号,注册过程中,类型选择可能是新手比较迷惑的地方.微信公众号分为订阅号和服务号(还有个企业号,似乎用的人不多),每种类型下面又分为公司,政府部门,社会组织,个人等不同性质.不同类型,不同性质的公众号,权限不同,申请资料也不同.

例如:公司(订阅号或服务号),你得提供工商注册号,银行对账号.注册成功后,也并不是所有权限都默认开通,需要手动开通.有些权限还得微信认证之后才能开通.关于这些细节,可参阅微信公众号官方文档https://mp.weixin.qq.com/wiki

我选择个人订阅号,不用那么多资料.个人订阅号不支持微信认证,功能也很少,只能当成熟悉游戏规则来玩玩.不过可以开通测试账号,测试账号拥有除了跟钱有关的(微信支付,微信门店等)之外的所有功能.等到后期我开始写微信支付等功能的文章时,再想办法弄一个服务号过来,或者热心的网有手头上有多余的也可能借来用用.

测试账号申请办法:微信公众号官方管理平台->开发->开发者工具->公众平台测试账号.其中需要做一些配置,如接口配置信息,JS接口安全域名等.我的如下:

 

 

具体参数说明,后面讲解,请注册JS接口安全域名不能带http://

 

 

二.微信公众号官方后台管理界面

可能大家在其他教程(别人以前写的)里看到的是如下的界面:

 

这些应该都是几年前写的,微信已经改了官方后台管理界面,不再是这样了,导致大家按这些教程来操作,怎么都找不到这些界面....最新的界面如下:

 

 

三.公众号服务器配置

微信公众号分编辑模式和开发模式.编辑模式即在公众号官方后台管理界面里,设置自动回复(例如,粉丝发送1,则回复新电影介绍;发送2,则回复优惠套餐等).设置自定义菜单.而开发模式则需要开发者有一个公网上面的网站.当粉丝发送消息时,微信的服务器,会送此消息包装成一定格式的xml,转发到开发者的网站上;同时,开发者向微信服务器回复特定格式的xml,然后微信服务器会将相应的内容转发到粉丝的微信客户端上..开发者还可以调用相应的api(前提是开通了相应的权限),完成某些高级功能.如:微信支付等.

设置公众号服务器步骤为公众号官方后台管理->开发->基本配置->修改配置.如下:

点击提交时,微信服务器会向你设置的URL网站(我的即为http://szuzsq.tunnel.qydev.com/weixin/index.php)发送一个get请求,因而,你得提前写好服务器响应代码,回复一条字符串,表示成功匹配微信服务器需要的服务器.怎么回复的逻辑请参阅官方文档说明.我将在后面将代码给出(其实就是微信文档里的例子代码,见六.响应微信服务器配置URL提交代码).

最后确保在公众号官方后台管理->开发->基本配置里已启用.如下:

 

开发模式启用后,某些编辑模式下的功能则无法使用.例如,微信官方后台管理->功能->自动回复(以及自定义菜单等),右边会显示一把销,表示未开启自动回怎么设置.如下:

 



四.建立公网服务器 很多其他教程,都是以百度云BAE,新浪云SAE作为服务器,当前这2个玩意是免费的,而且不需要实名认证.特别要指出的是新浪SAE如果没有认证,所有的返回响应,都会自动添加一些html标签,提醒用户去认证,就是因为这些标签,微信接收服务器配置提交时,不能成功.. 教大家一种方式,将公网上的网站,映射到你本机电脑的服务器上.比较有名的是花生壳,但这玩意同样收钱,免费的特不稳定.. ok,新利器,隆重出场,ngrok,这是一个开源项目,干的活就是花生壳一样,将网络上访问公网上的网站(我的是http://szuzsq.tunnel.qydev.com/weixin/index.php)映射到本机电脑.国内有人架设了ngrok的服务,我们直接用. 到http://www.qydev.com下载相应操作系统客户端(我的是window7) 然后在解压目录下执行ngrok -config=ngrok.cfg -subdomain szuzsq 80 szuzsq是我的子域名,这样,访问http://szuzsq.tunnel.qydev.com就是访问我本机电脑的服务器了.在本地,你可以轻松调试.我一般使用error_log("xxx", 3, "err.log");的方式打印日志.另外怎么在微信公众号开发时断点调试,我还不会,有会的同学,请指教. 哦,声明下,我使用php作为开发语言,大家可选用自己熟悉的语言进行开发.只要是http服务器语言.

 

 

五.搭建本地开发环境

这个不详解,默认大家会一门语言,并且会搭建环境.我使用windows7 + wampserver3 + eclipse..其中mysql默认编码以及排序均设置为utf8;php打开了xdebug调试;eclipse上集成web,javascript,php的插件.eclipse上可调试普通网站的php代码,浏览器可调试普通网站的javascript代码..如果有同样使用php又不会的配置的,可联系我.

 

 

六.响应微信服务器配置URL提交代码

这些代码只需保证在微信官方管理后台,提交开发者服务器配置时,能响应就行了.公众号正常运行后,可删除.

 

valid();

class wechatCallbackapiTest {
	public function valid() {
		$echoStr = $_GET["echostr"];
		if($this->checkSignature()) {
			echo $echoStr;
			exit;
		}
	}
	private function checkSignature() {
		if(!defined("TOKEN"))
			throw new Exception('TOKEN is not defined!');

		$signature = $_GET["signature"];
		$timestamp = $_GET["timestamp"];
		$nonce = $_GET["nonce"];
		$token = TOKEN;

		$tmpArr = array($token, $timestamp, $nonce);
		sort($tmpArr, SORT_STRING);
		$tmpStr = implode($tmpArr);
		$tmpStr = sha1($tmpStr);
		if($tmpStr == $signature)
			return true;
		return false;
	}
}
相关TAG标签
上一篇:微信表情开发
下一篇:微信公众号开发教程[001]-引言
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站