微信服务号配置

381 阅读2分钟
1、首先注册一个微信服务号(个人的话只能注册订阅号)。

2、在设置--->公众号设置--->功能设置中设置业务域名、JS接口安全域名、网页授权域名。

如下图1和图2所示。设置的域名必须是通过备案的。我个人的话是在这里设置了整个域名,这样 在微信服务号内访问整个域名内的资源就不会出现安全提示。

图1
图2

3、然后是开发配置--->基本配置页面中配置个人服务器与微信服务器通信所需的一些配置。
图3
如图3所示,开发这ID、开发者密码这两个参数都需要保存在个人服务器中,在个人服务器与微信服务器进行通信时需要用到。IP白名单的话设置自己服务器的ip,如果未设置是无法调取access_token接口来获取相关数据,导致与微信服务器的整个通信失败。


图4
如图4所示,需要配置个人服务器的一些相关信息。服务器地址(URL)必须以http://或https://开头,分别支持80端口和443端口,该url地址用来接收微信服务端发送的所有消息然后处理也就是和微信服务器沟通的大门。令牌Token必须为英文或数字,长度为3-32字符,用来验证服务器。消息加密密钥可以随机生成,如果使用明文模式则该密钥则没有用处。

4、个人服务器与微信服务器的通信验证。

在第三部设置的服务器地址对应的文件上编写相对应的验证代码,是在保存第3步相关数据时使得微信服务器可以验证相关数据是否正确,如果正确则保存成功,然后开启服务器配置之后微信服务器发送的所有消息都会通过配置好的服务器地址。验证的相关代码如下。

$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
(以上三个参数是微信服务器发送到配置好的服务器地址上的)

$tmpArr = array( $token, $timestamp, $nonce );
($token是第3步配置好的token,一定要与配置的一致,否则则会导致验证失败。)
// use SORT_STRING rule
sort( $tmpArr, SORT_STRING ) ;
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );

if( $tmpStr == $signature ){
   $echoStr = $_GET["echostr"];
   echo $echoStr;
}else{
    return false;
}
写好相关代码之后点击第3部的保存,如果保存成功则说明配置无误。如果保存不成功的话,则检查代码中的token与配置的token是否一致,代码中是否正确的echo返回,是否网络异常尝试点击多次保存。