微信公众平台开发—配置接口
BlaBracewel
8年前
<p>在阅读这篇文章之前你要做以下的准备:</p> <p>1.注册一个订阅号(通过微信公众平台https://mp.weixin.qq.com/);<br> 2.注册新浪云并实名认证http://sae.sina.com.cn/<br> 3.实名认证新浪云之后,创建一个云应用.<br> 4.你需要知道php基础知识.</p> <h2><strong>一:验证接口</strong></h2> <p>1.登录我们的公众号.然后点击进入开发者工具,在登录之后页面的左下角.</p> <p>2.点击进入开发者文档.之后点击开始开发,点击接入指南,我们会看到如下图.</p> <p><img src="https://simg.open-open.com/show/ec88993984aaba0f284af9ab703584d4.png"></p> <p>D5D1E784-2064-4ABD-8B80-3ABD137F66A8.png</p> <pre> 图片上有说,接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑.</pre> <p>第一步:填写服务器配置</p> <p>我们登录微信公众号之后,右下角基本开发配置点进去,</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/a7f6cf3c887e2a66d4af7727d8b7ea43.jpg"></p> <p style="text-align: center;">0.jpg</p> <p>URL是开发者用来接收微信消息和事件的接口URL.具体怎么填我们等下详细说.</p> <p>Token可以随意填写(但是每个人都不一样的,如果后面提交失败可以试着修改Token),这个Token会和接口中包含的Token进行比对,从而验证安全性,EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。</p> <p>填写的URL,需要我们有自己的服务器的地址,现在我们就要到我们之前注册的新浪云云应用了.</p> <p>一.登录新浪云,点击云应用,点击进入控制台.如下图创建</p> <p><img src="https://simg.open-open.com/show/3ee77113bab5fd6ac2ec6279441e5d1d.png"></p> <p style="text-align: center;">E150DD45-C65E-42F6-87D9-10BB9AC0E588.png</p> <p>二.级域名和应用名称,自己起个名字就好.然后点击进入下图红色标记的地方.</p> <p><img src="https://simg.open-open.com/show/77104f3d6bb9d3d1e788cff004f3fd8a.png"></p> <p>2BD15953-4430-44BD-8208-DF5953CA334B.png</p> <p>三.如下图箭头指示点击进入编辑代码</p> <p><img src="https://simg.open-open.com/show/71e2fbd994c3f9c77cf059bb1f8abea4.png"></p> <p style="text-align: center;">2568CDA5-911B-4A7A-A74D-44E6E9C86294.png</p> <p>四.之后会弹出SAE的界面,我们需要在里面建立一个php文件,然后点击通过URL访问,之后我们把这个网址拷贝下来,放到我们之前基本配置的URL上.</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/7d2abc3d5d2c80a572b8cdb6f709f261.png"></p> <p style="text-align: center;">屏幕快照 2016-09-20 下午7.43.54.png</p> <p>第二步:验证消息的确来自微信服务器</p> <p>具体的php代码如下:</p> <pre> <?php // //最简单的验证方式 // echo $_GET["echostr"]; //验证是否来自于微信 function checkWeixin(){ //微信会发送4个参数到我们的服务器后台 签名 时间戳 随机字符串 随机数 $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $echostr = $_GET["echostr"]; $token = "qilipingmgl"; // 1)将token、timestamp、nonce三个参数进行字典序排序 $tmpArr = array($nonce,$token,$timestamp); sort($tmpArr,SORT_STRING); // 2)将三个参数字符串拼接成一个字符串进行sha1加密 $str = implode($tmpArr); $sign = sha1($str); // 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信 if ($sign == $signature) { echo $echostr; } } checkWeixin(); ?></pre> <p>注意:代码中 $token 是每个人不同的,我们需要填写自己的,点击开发者工具,之后右边有公众平台测试账号,点击进入,之后我们会看到接口配置,把Token复制过来放到代码中.</p> <p>我们把这个代码复制到我们刚创建的SAE的php文件里,再保存(记得要保存哦),然后点击通过URL访问,</p> <p>如果报错了(报错的信息是数字的话),请点击开发者文档中,点击开始前必读,有个接口返回码说明,我们可以对照一下,错误在哪里, <strong>注意:0的时候表示请求成功.</strong></p> <h2><strong>二.获取access_token</strong></h2> <p>提示:access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token.我们作为开发者要妥善保存,access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。</p> <p>第一步,我们点击开发者文档,点击开始开发,点击获取access_token之后会看到,http请求方式:GET,然后一个网址,我们需要用到这个网址,如下图,</p> <p><img src="https://simg.open-open.com/show/97e058fc3022a09d3b3f78f874c356f9.png"></p> <p style="text-align: center;">E0204D74-2EA6-4943-B93F-7E7C1E2FA88A.png</p> <p>第二步:我们写GET请求的函数,获取access_token</p> <pre> <?php class Weixin{ private $appID = "wxe62f370c4e2cade2"; private $appsecret = "58807091ae5a4c59ee3e47108184bdb7"; function getAccessToken(){ $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$this->appID}&secret={$this->appsecret}"; // return $this->httpGet($url); //json字符串 $json = $this->httpGet($url); //解析json $obj = json_decode($json); return $obj->access_token; } function httpGet($url){ //1.初始化 $curl = curl_init(); //配置curl curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); //执行curl $res = curl_exec($curl); //关闭curl curl_close($curl); return $res; } } $wx = new Weixin(); echo $wx->getAccessToken(); /* 获取access_token方法 get方法 */ ?></pre> <p>注意:代码中 $appID 和 $appsecret 是每个人不同的,我们需要填写自己的,点击开发者工具,之后右边有公众平台测试账号,点击进入,之后我们会看到测试号信息.然后复制过来放到代码中.</p> <p>第三步:我们代码复制到SAEphp文件中,点击右键通过URL访问,如果返回 {"access_token":"ACCESS_TOKEN","expires_in":7200} 表示我们获取token成功.如果不幸报错了,没关系我们找错误,点击开发文档,点击开始前必读,点击接口返回码说明,我们对照一下,根据提示找错误就好了.</p> <p>说道这里我们的配置接口就完成了,下一节我们继续微信开发->自定菜单创建接口.</p> <p> </p> <p>来自:http://www.jianshu.com/p/56d8906ace28</p> <p> </p>