微信公众平台开发接口配置URL index.php和token,

来源:互联网 发布:ps相片软件下载 编辑:程序博客网 时间:2024/06/06 00:29

最近在帮别人做个小项目,要用到微信公众平台,虽然以前也做过微信开发,但是没有深入的自己去搞一套微信开发的东西(也搞不了,那时候没能力,也弄不到微信公众号),最近开始搞,第一步就是配置微信基本配置(账号注册我就不赘述了)。

我们首先要启用服务器配置,并填写URL,token,AESKey,加密方式

那么URL怎么填写呢?

网上有很多种教程,最靠谱的一种是去新浪云注册个免费的PHP服务器,

进入控制台,创建一个新应用,选PHP标准环境,不收费

创建完成后进入应用,左边列表里  应用-->代码管理  里选编辑代码

然后创建 一个index.php文件,双击进去,讲如下代码复制进去,token改成你自己的

<?php/**  * wechat php test  *///define your tokendefine("TOKEN", "token");$wechatObj = new wechatCallbackapiTest();$wechatObj->valid();class wechatCallbackapiTest{public function valid()    {        $echoStr = $_GET["echostr"];        //valid signature , option        if($this->checkSignature()){        echo $echoStr;        exit;        }    }    public function responseMsg()    {//get post data, May be due to the different environments$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];      //extract post dataif (!empty($postStr)){                              $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);                $fromUsername = $postObj->FromUserName;                $toUsername = $postObj->ToUserName;                $keyword = trim($postObj->Content);                $time = time();                $textTpl = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>";             if(!empty( $keyword ))                {              $msgType = "text";                $contentStr = "Welcome to wechat world!";                $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);                echo $resultStr;                }else{                echo "Input something...";                }        }else {        echo "";        exit;        }    }private function checkSignature(){        $signature = $_GET["signature"];        $timestamp = $_GET["timestamp"];        $nonce = $_GET["nonce"];       $token = TOKEN;$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr);$tmpStr = implode( $tmpArr );$tmpStr = sha1( $tmpStr );if( $tmpStr == $signature ){return true;}else{return false;}}}?>
修改TOKEN为你自己的token,可以自己随便写,但是不一定能用。
保存,右击index.php --> 通过URL访问,会在浏览器里获得这个PHP程序的URL地址。

将该URL地址放到接口配置里的URL里,token要和这个index.php里一致,以后在项目里使用的token也和这个一致.

AESKey点自动生成,消息加密方式根据你个人项目情况选择,如果是公司项目,涉及到钱的,建议使用安全模式。

然后就是提交了,这时候会发现,token验证失败(存在一定的可能性),怎么办,通过查找,可以在微信公众平台-->开发者工具-->公众平台测试账号中查看自己的 token

然后重复上述修改token步骤,运行index.php,使用新的token和URL进行验证,这个时候就OK了。

重点来了!!!

实际生产环节,我们都有自己的服务器,自己的域名,这个时候,就不希望通过第三方的方式做这个微信消息认证了。

我们在生产环境下,要给自己的服务器装个Nginx和PHP环境,具体怎么装百度。

装好以后,我们在/usr/share/nginx/html下新建一个index.php文件,讲上述代码复制进去,保存。

然后在/etc/nginx/nginx.conf(有的人的配置文件在default.d/default.conf里),在server里修改如下代码,注意index.php要加到index里,下方再配入PHP的代理。

location / {root   /usr/share/nginx/html;        index  index.php index.html index.htm ;        }location ~ \.php$ {        root           /usr/share/nginx/html;        fastcgi_pass   127.0.0.1:9000;        fastcgi_index  index.php;        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;        include        fastcgi_params;    }
重启Nginx,解析域名到该服务器地址,使用域名就可以进行微信消息验证了,大功告成。

同样的,如果没有注册公众号,但是注册过测试号,也可以用上述方式填写相应的URL和token

阅读全文
0 0
原创粉丝点击