• 技术文章 >后端开发 >php教程

    php微信公众平台配置接口开发程序的方法实例详解

    墨辰丷墨辰丷2018-06-01 10:58:21原创724
    这篇文章主要为大家详细介绍了php微信公众平台配置接口开发程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    在阅读这篇文章之前你要做以下的准备:

    1.注册一个订阅号(通过微信公众平台https://mp.weixin.qq.com/);
    2.注册新浪云并实名认证http://sae.sina.com.cn/
    3.实名认证新浪云之后,创建一个云应用.
    4.你需要知道php基础知识.

    一:验证接口

    1.登录我们的公众号.然后点击进入开发者工具,在登录之后页面的左下角.

    2.点击进入开发者文档.之后点击开始开发,点击接入指南,我们会看到如下图.

    图片上有说,接入微信公众平台开发,开发者需要按照如下步骤完成:

    1.填写服务器配置
    2.验证服务器地址的有效性
    3.依据接口文档实现业务逻辑.

    第一步:填写服务器配置

    我们登录微信公众号之后,右下角基本开发配置点进去,

    URL是开发者用来接收微信消息和事件的接口URL.具体怎么填我们等下详细说.

    Token可以随意填写(但是每个人都不一样的,如果后面提交失败可以试着修改Token),这个Token会和接口中包含的Token进行比对,从而验证安全性,EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。

    填写的URL,需要我们有自己的服务器的地址,现在我们就要到我们之前注册的新浪云云应用了.

    一.登录新浪云,点击云应用,点击进入控制台.如下图创建

    二.级域名和应用名称,自己起个名字就好.然后点击进入下图红色标记的地方.

    三.如下图箭头指示点击进入编辑代码

    四.之后会弹出SAE的界面,我们需要在里面建立一个php文件,然后点击通过URL访问,之后我们把这个网址拷贝下来,放到我们之前基本配置的URL上.

    第二步:验证消息的确来自微信服务器

    具体的php代码如下:

    <?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();
    ?>

    注意:代码中 $token 是每个人不同的,我们需要填写自己的,点击开发者工具,之后右边有公众平台测试账号,点击进入,之后我们会看到接口配置,把Token复制过来放到代码中.

    我们把这个代码复制到我们刚创建的SAE的php文件里,再保存(记得要保存哦),然后点击通过URL访问,

    如果报错了(报错的信息是数字的话),请点击开发者文档中,点击开始前必读,有个接口返回码说明,我们可以对照一下,错误在哪里, 注意:0的时候表示请求成功.

    二.获取access_token

    提示:access_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token.我们作为开发者要妥善保存,access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。

    第一步,我们点击开发者文档,点击开始开发,点击获取access_token之后会看到,http请求方式:GET,然后一个网址,我们需要用到这个网址,如下图,

    E0204D74-2EA6-4943-B93F-7E7C1E2FA88A.png

    第二步:我们写GET请求的函数,获取access_token

    <?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方法
     */
    ?>

    注意:代码中 $appID 和 $appsecret 是每个人不同的,我们需要填写自己的,点击开发者工具,之后右边有公众平台测试账号,点击进入,之后我们会看到测试号信息.然后复制过来放到代码中.

    第三步:我们代码复制到SAEphp文件中,点击右键通过URL访问,如果返回 {"access_token":"ACCESS_TOKEN","expires_in":7200} 表示我们获取token成功.如果不幸报错了,没关系我们找错误,点击开发文档,点击开始前必读,点击接口返回码说明,我们对照一下,根据提示找错误就好了.

    说道这里我们的配置接口就完成了,下一节我们继续微信开发->自定菜单创建接口.

    总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

    相关推荐:

    PHP制作登录异常ip检测功能的实例

    php实现当前页面点击下载文件的实例

    php导出csv文件,可导出前导0实例

    以上就是php微信公众平台配置接口开发程序的方法实例详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 开发 接口
    上一篇:PHP递归遍历文件夹去除注释并压缩php源代码 下一篇:PHP实现将多个文件压缩成zip格式并下载到本地
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 基于PHP编程注意事项的小结_PHP教程• PHP5中Cookie与 Session使用详解_PHP教程• PHP重定向的3种方式_PHP教程• PHP中图片等比缩放的实例_PHP教程• 那些年一起学习的PHP(一)_PHP教程
    1/1

    PHP中文网