码迷,mamicode.com
首页 > 微信 > 详细

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

时间:2016-07-12 12:20:29      阅读:419      评论:0      收藏:0      [点我收藏+]

标签:

一.注册微信公众号

        微信公众号官方入口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作为开发语言(所有的例子都是基于php+ html5 + css3 + javascript),大家可选用自己熟悉的语言(只要是http服务器语言就行),并且会搭建环境.我的环境为:windows7 + wampserver3 + eclipse..其中mysql默认编码以及排序均设置为utf8;php打开了xdebug调试;eclipse上集成web,javascript,php插件.如果有同样使用php又不会的配置的,可联系我...关于断点调试,我的eclipse可调试普通网站的php代码,浏览器可调试普通网站的javascript代码.但是,怎么在微信公众号开发时断点调试php和javascript,我还不会,有会的同学,请指教.

wampserver3(wampserver3.0.4_x86_apache2.4.18_mysql5.7.11_php5.6.19-7.0.4.exe)下载地址:  https://sourceforge.net/projects/wampserver/files

eclipse3.7.2(eclipse-SDK-3.7.2-win32.zip)下载地址: http://www.eclipse.org/downloads/packages/eclipse-classic-372/indigosr2

        wampserver3自运安装了apache,mysql和php.

        要运行eclipse,请先安装java(我的是java6).然后解压.

        然后从菜单Help->Install New Software->Add.进入Add Respository界面,在Name处填写Indigo,在Location处填写: http://download.eclipse.org/releases/indigo.如果上一级Install界面的Work with里面直接有Indigo - http://download.eclipse.org/releases/indigo,也可以直接选中这一项...

        解析完之后,会有一项"Web,XML,Java EE and OSGi Enterprise Development",不用全部安装,我只安装了"JavaScript Development Tools", "PHP Development Tools(PDT) SDK Feature"和"Web Page Editor" 



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

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

<?php
//文件名: http://szuzsq.tunnel.qydev.com/weixin/index.php

define("TOKEN", "weixin");

$wechatObj = new wechatCallbackapiTest();
$wechatObj->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;
	}
}
?>

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

标签:

原文地址:http://blog.csdn.net/szuzsq/article/details/51885990

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!