PHP实现微信公众平台开发-基础篇

来源:互联网 发布:全球进出口数据统计 编辑:程序博客网 时间:2024/06/05 00:33

第1章 微信公众账号及申请流程

微信三角色关系

微信公众账号: 充当的是自媒体角色
微信应用: 平台角色
微信用户: 普通用户
对微信应用而言: 微信应用给微信公众账号和微信用户提供了信息交互,获取资讯的一个平台。
对微信用户而言: 用户可通过微信这个平台去订阅自己感兴趣的微信公众账号,来获取资讯和服务。
对微信公众账号而言: 作为一个自媒体可以将自己的网站应用,移动端应用,通过微信应用这个平台提供给微信用户进行使用,可以推送信息给用户。

订阅号,服务号,企业号展示

  1. 订阅号
  2. 服务号
  3. 企业号
    订阅号主要是针对于个人和组织
    服务号主要是提供给企业和组织,不适用于个人。
    企业号主要提供给企业,特别是大型企业

微信认证介绍

公众账号认证
1. 价格 300元/次
2. 认证与不认证的区别:微信提供的接口权限有差异

订阅号申请流程

申请地址: https://mp.weixin.qq.com

第2章 微信公众账号的工作原理和接口

数据交互流程

第三方服务器
微信服务器
微信用户
第一种场景:微信用户,微信服务器,第三方服务器之间
微信用户发送请求给微信服务器, 微信服务器收到用户请求后,把信息发送到第三方服务器,第三方服务器收到微信推送过来的请求后,响应给
微信服务器,微信服务器将第三方服务器响应过来的数据用特定的数据结构,发送给普通用户。
第二种场景: 微信服务器与第三方服务器之间
第三方服务器与微信服务器之间进行的: 微信第一次认证第三方服务器合法性的时候,推送有特定参数的GET/POST请求给第三方服务器,第三方服务器可以获取用户的一些信息。

开发者模式和编辑模式介绍

  1. 编辑模式
  2. 开发者模式

开发者模式: 通过调用微信一些公用接口来完成自身业务
编辑模式: 微信公众平台提供给微信公众账号管理者一个简单的可视化操作的界面
这两者主要的区别, 编辑模式只能完成开发者模式中一些功能。

编辑模式介绍

编辑模式主要是在 微信公众平台提供给
功能的添加, 功能的使用, 开发推荐开发者模式

接口介绍

基础接口的内容介绍
1. 事件推送–订阅公众账号 (微信用户在微信中关注自己感兴趣的公众账号之后微信服务器会推送一个订阅事件让与公众账号绑定的第三方服务器上面)
2. 消息响应–发送普通消息,接受普通信息
3. 基础接口– 获取access_token, 获取微信服务器地址

第3章 接入微信公众账号API

验证配置介绍

微信公众号管理后台: 开发–> 基本配置 –> 服务器配置

验证参数介绍

  1. 将token, timestamp, nonce 三个参数进行字典序列排序
  2. 将三个参数拼接成一个字符串进行 sha1加密
  3. 开发者获得加密后的字符串可与signature对比, 标识该请求来源于微信

填写验证配置

生成公网可访问的脚本文件

采用内网穿透,或者使用独立的主机域名,在上面进行代码编写

url验证的代码实现

<?php// 1.将从微信平台通过get传送过来的参数 timestamp, noce,token按字典排序        $timestamp = $_GET['timestamp'];        $noce = $_GET['nonce'];        $token = $_GET['weixin'];        $signature = $_GET['signature'];        $array = array($timestamp, $nonce, $token);        sort($array);        // 2. 将排序后的三个参数拼接后用sha1加密        $tmpstr = implode('', $array);        $tmpstr = sha1($tmpstr);        // 3.将加密后的字符串与signature进行对比, 判断该请求是否来自微信        if ($tmpstr == $signature) {            echo $_GET['echostr'];            exit;        }

提交验证接口

提交成功:说明我们完成了微信API,在我们应用中的接入