热门搜索 :
考研考公
您的当前位置:首页正文

微信公众平台开发-起航篇

来源:东饰资讯网

      Hello,读者姥爷们,大家好。我是不是加多宝的宝,一个程序员,主要使用的语言是PHP(有时候会写一些android的程序)。我是一个毕业不到两年的大学生,所以也不能说教大家什么,在这里分享一些自己的学习经历,希望和大家一起进步。

      好了,其他的不多说了,本篇的目的是让大家快速入门微信公众平台的api开发。文中案例自然使用我最熟悉的PHP + Mysql作为开发语言和数据库。

      本篇不讲什么是微信公众号等之类的科普内容 和 微信公众号申请相关的内容,相信大家也已经非常熟悉了。本篇主要讲如何接入微信并验证token。

      登陆完之后会看到一个“测试号管理”的页面,下面我们需要配置一下我们的微信测试号。如下图所示,在测试号管理中我们可以查看我们的appID,appsecret和配置我们的测试号。想要开发,你还需要一个服务器空间 和 域名(注意,微信公众平台接口仅支持80端口)。填写的url必须是公网可访问的才行。token是我们和微信服务器的一个约定字符串,自己随便写就好了。

测试号管理界面部分-1

讲解其中两个参数:

1.signature :这是我们需要验证的加密签名。他是由timestamp,nonce和token(我们自己填写的)按照字典序排序之后拼接成字符串然后用sha1算法加密后的字符串。我们要做的就是把接到的timestamp,nonce和我们定义的token如此操作之后和微信给我们传来的signature做比较。

2.echostr : 它的作用是当我们加密签名验证通过之后输出出来。(只有第一次验证服务器的时候微信才会给我们发送这个参数,以后会利用到这一现象)。

接下来我们开始编码吧。

<?php

define('TOKEN','rainlu');//定义我们的token

$timestamp = $_GET['timestamp'];//接受时间戳

$nonce = $_GET['nonce'];//接受随机数

$signature = $_GET['signature'];//接受签名

$echostr = $_GET['echostr'];//接受随机字符串

$tmpArr = array($timestamp,$nonce,TOKEN);//将时间戳,token,随机数放到数组里,方便排序

sort($tmpArr,SORT_STRING);//字典序排序数组

$tmpStr = sha1(implode($tmpArr));//拼接字符串并用sha1算法加密

if($tmpStr == $signature){

      echo $echostr;//验证成功,输出echostr

      exit;

}else{

      echo 'error';

      exit;

}

      这样,一个最简单的验证脚本就写好了(下一篇我们将优化这个脚本)。下一步将他传入到我们的服务器,然后手动去输入地址看通不通。通的话就回到“测试号管理”页面提交配置,如果提示“token验证失败”,请多提交两次试试,如果还不行就检查自己的脚本看哪里编写的有问题。

      小作业:将验证脚本写到一个微信类中去。

      这一篇到这里就结束了,喜欢的话点个赞啊,投个硬币(并不)啊都可以。

大家周末愉快,转载请注明出处。by 2016-05-06 over。

Top