随着微信公众平台的开放,微信营销推广也越发受到重视。现在企业越来越注重求职者是否拥有“微信公众平台接口开发”的经验。
现在参考资料介绍下微信公众平台接口开发模式:
一、微信公众平台账号注册
首先你得有个微信公众平台账号,注册地址:http://mp.weixin.qq.com/
二、上传代码
开发者提交信息后,微信服务器将发送GET请求到填写的URL上,GET请求携带四个参数:开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。
参数 | 描述 |
---|---|
signature | 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。 |
timestamp | 时间戳 |
nonce | 随机数 |
echostr | 随机字符串 |
1. 将token、timestamp、nonce三个参数进行字典序排序
2. 将三个参数字符串拼接成一个字符串进行sha1加密
3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
以下代码是消息接口认证代码,将下列PHP代码保存为index.php(其中的mytoken改为你想要的的token名称),并上传到HTTP服务器指定的目录中,
<?php //检验signature的PHP示例代码 define("TOKEN", "mytoken"); $wechatObj = new wechatCallbackapiTest(); $wechatObj->valid(); class wechatCallbackapiTest { public function valid() { $echoStr = $_GET["echostr"]; //随机字符串 if($this->checkSignature()){ echo $echoStr; exit; } } private function checkSignature() { $signature = $_GET["signature"]; //微信加密签名 $timestamp = $_GET["timestamp"]; //时间戳 $nonce = $_GET["nonce"]; //随机数 $token = TOKEN; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr); //进行字典序排序 //sha1加密后与签名对比 if( sha1(implode($tmpArr)) == $signature ){ return true; }else{ return false; } } } ?>或者直接下载微信的示例代码。地址 http://mp.weixin.qq.com/mpres/htmledition/res/wx_sample.zip
三、启用消息接口
进入微信公众平台,选择 设置 - 关键词自动回复 ,选择启用 ,点击 公众平台消息接口 旁边的 编辑,进入接口配置界面:按照要求如实填写下列选项。特别注意是URL是你上传index.php的路径,必须以http://开头,且为80端口。
四、进入公众平台开发
验证URL有效性成功后即接入生效,成为开发者。如果公众号类型为服务号(订阅号只能使用普通消息接口),可以在公众平台网站中申请认证,认证成功的服务号将获得众多接口权限,以满足开发者需求。
此后用户每次向公众号发送消息、或者产生自定义菜单点击事件时,响应URL将得到推送。
公众号调用各接口时,一般会获得正确的结果,具体结果可见对应接口的说明。返回错误时,可根据返回码来查询错误原因。
用户向公众号发送消息时,公众号方收到的消息发送者是一个OpenID,是使用用户微信号加密后的结果,每个用户对每个公众号有一个唯一的OpenID。
此外请注意,微信公众号接口只支持80接口。
展望微信营销
做微信营销的公司很多,但是真正做精做好的却太少了。正如全国最大的微信公众服务平台微盟weimob的ceo孙涛勇所言:“虽然微信营销起点不算高,但是操作上有非常多的细节需要把控,企业自己没有专业的团队和人才想要做好微信服务,实现企业盈利,还是比较困难的,与我们洽谈的企业也尝试了一段时间,但都没有效果,所以想与我们专业的微信代运营公司合作。”
对于企业来说,如果没有专业的微信开发团队和相关运营人才,最好和这方面专业的公司合作,实现共赢。
谢谢关注websites博客!