PHP实现微信公众平台开发—基础篇
PHP实现微信公众平台开发—基础篇 2
1课程介绍 2
2. 微信公众号账号介绍的申请流程详解 2
2.1微信三角色关系 2
2.2信息流的过程 2
2.4微信公众账号的认证 3
2.5订阅号的申请流程 3
3. 微信公众号的工作原理 3
3.1数据交互流程 3
3.2编辑模式和开发者模式的介绍 4
3.3编辑模式的简单演示 5
3.4接口介绍 5
4. 接入微信公众账号的API 5
1.验证配置介绍 5
2.验证参数介绍 5
3.填写验证配置 6
4.生成公网访问的脚本文件 6
5.验证代码的实现 6
6.提交验证接口 7
PHP实现微信公众平台开发—基础篇
1课程介绍
有个独立服务器 和 新浪SAE 课程安排
课程安排
基础篇 微信公众账号分类,数据交互原理,API接入
提升篇 常用普通接口 消息发送和接收,事件推送等
高级篇 常用高级接口: 网页授权,模板消息
实战篇 通过一个实战项目贯穿所有的知识点
2.微信公众号账号介绍的申请流程详解
2.1微信三角色关系
微信应用 微信APP
微信用户 普通用户
2.2信息流的过程
微信用户 通过 微信应用 获得 微信公众号
微信公众号 通过 微信应用 推送信息给 微信用户
2.3 服务号,订阅号,企业号
订阅号 个人和组织
服务号 政府机构 企业 组织和个人
企业号 企业
2.4微信公众账号的认证
对你的资质进行认证
2.5订阅号的申请流程
申请微信公众账号 mp.weixin.qq.com
公众平台验证 申请 公众号
订阅号的控制平台
3.微信公众号的工作原理
3.1数据交互流程
第一个数据交互场景
第二个数据交互场景 第三方服务器与微信服务器进行的交互
3.2编辑模式和开发者模式的介绍
编辑模式:微信提供给管理者可视话操作的界面,方便公众账号管理者进行简单的微信运行
3.3编辑模式的简单演示
例子 自动回复功能
开发者模式:通过调用微信的接口功能的实现
3.4接口介绍
1.基础接口内容介绍
事件推送-订阅公众账号
消息响应-发送普通消息,接收普通消息
基础接口—获取access _token (访问令牌),获取微信服务器地址
4.接入微信公众账号的API
1.验证配置介绍
填写服务器的url 和 token
Url 第三方服务器url 微信 只支持 80 端口 http 只能在 80端口打开
2.验证参数介绍
应用接入API接口步骤
验证服务器有效性,加密/效验流程如下
2.1将token,timestamp,nonce(令牌,时间戳,现时标志)三个参数进行字典序排序
2.2将三个参数字符串拼接成一个字符串进行shal加密
2.3开发者获得加密后的字符串可与sigunture 署名;签名;信号,标识该请求来源于微信
3.填写验证配置
URL 必须是公网可以访问的域名
4.生成公网访问的脚本文件
<?php
echo "zhoujianqi";
?>
5.验证代码的实现
2.1将tokne,timestamp,nonce(令牌,时间戳,现时标志)三个参数进行字典序排序
2.2将三个参数字符串拼接成一个字符串进行sha1加密
2.3开发者获得加密后的字符串可与sigunture 署名;签名;信号,标识该请求来源于微信
<?php
//获得参数 signature nonce token timestamp echostr
$nonce = $_GET['nonce'];
$token = 'imooc';
$timestamp = $_GET['timestamp'];
$echostr = $_GET['echostr'];
$signature = $_GET['signature'];
//形成数组,然后按字典序排序
$array = array();
$array = array($nonce, $timestamp, $token);
sort($array);
//拼接成字符串,sha1加密 ,然后与signature进行校验
$str = sha1( implode( $array ) );
if( $str == $signature && $echostr ){
//第一次接入weixin api接口的时候
echo $echostr;
exit;
}
6.提交验证接口
其中token 代码中没写对
PHP实现微信公众平台开发—基础篇的更多相关文章
- 微信公众平台开发 - 动手篇。使用weinxinFundation开始一个微信公众平台的开发
本文主要讲解如何使用 weinxinFundation 进行二次开发. 步骤如下: 1.创建新的web项目. 在eclipse里新建一个dynamicly web project,比如本文叫weixi ...
- [转]抢先Mark!微信公众平台开发进阶篇资源集锦
FROM : http://www.csdn.net/article/2014-08-01/2820986 由CSDN和<程序员>杂志联合主办的 2014年微信开发者大会 将于8月23日在 ...
- PHP实现微信公众平台开发 全套视频资源下载
好久没有在博客园更新东西了,今天给大家分享一份比较不错的视频学习资源吧. 主要是关于PHP实现微信公众平台开发, 不知道大家对于微信平台的开发有多少了解,那么今天就从基础开始吧,资源目录如下(PS ...
- 第一篇:微信公众平台开发实战Java版之了解微信公众平台基础知识以及资料准备
相信很多人或多或少听说了微信公众平台的火热.但是开发还是有一点门槛,鉴于挺多朋友问我怎么开发,问多了,自己平时也进行以下总结.所以下面给大家分享一下我的经验: 微信公众号是什么? 官网的介绍:再小的个 ...
- 第九篇 :微信公众平台开发实战Java版之如何实现自定义分享内容
第一部分:微信JS-SDK介绍 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统 ...
- 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息
第一部分:微信授权获取基本信息的介绍 我们首先来看看官方的文档怎么说: 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域 ...
- 第七篇 :微信公众平台开发实战Java版之如何获取微信用户基本信息
在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同). 公众号可通过本接口来根据O ...
- 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单
我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...
- 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token
一.access_token简介 为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台 开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等, 开 ...
随机推荐
- [转载]嵌入式linux下操作GPIO
本文转自:http://blog.csdn.net/mirkerson/article/details/8464231 在嵌入式设备中对GPIO的操作是最基本的操作.一般的做法是写一个单独驱动程序,网 ...
- lrzsz-串口传输文件
二.编译安装 1.解压文件,进入目录 tar –zxvf lrzsz-0.12.20.tar.bz cd / lrzsz-0.12.20 ./configure 2../con ...
- Identity4 Clientcredentials 自定义客户端授权验证
看了许多教程 ,大多数都是提前定义好客户端,但是这样有个弊端,我们并不知道以后会有多少客户端.有可能从数据库读取数据,也有可能通过json文件获取,总之 各种方式. 然后 网上大多数教程都是提前定义好 ...
- c++如何编写线程安全的DLL
DLL有个共同的特点就是都有一个初始化函数,一个资源释放函数,其他几个函数都是核心功能函数.而且这些DLL有时会被多个进程同时调用,这就牵扯到多进程的多线程调用DLL的问题.有点绕口,以下我根据我实践 ...
- 带坑的几道PHP面试题
第二题 代码如下: $i='11'; printf("%d\n",printf("%d",printf("%d",$i))); 输出结果是多 ...
- C语言学习笔记--动态内存分配
1. 动态内存分配的意义 (1)C 语言中的一切操作都是基于内存的. (2)变量和数组都是内存的别名. ①内存分配由编译器在编译期间决定 ②定义数组的时候必须指定数组长度 ③数组长度是在编译期就必须确 ...
- 基于cookie实现用户验证
#!/usr/bin/env python import tornado.ioloop import tornado.web class IndexHander(tornado.web.Request ...
- sqlplus--sqlldr命令参数详解
sqlplus--sqlldr参数详解 sqlldr,Oracle快速导入数据的工具,是sqlplus的指令,不是sql语法里的东西. 一.下面是SQL*LOADER的基本特点:1)能装入不同数据类型 ...
- dedecms出错此问题:Cannot_modify_header_information_-_headers_already_sent_by_(output_started_at
修改php.ini文件,php.ini配置问题,解决办法:打开 php.ini 然后把 output_buffering 设为 on ,重启iis或apache即可. 出现以上问题可能是由于更换空间, ...
- vue插件开发与发布
vue插件的规范 / plug.js Toast={}Toast.install=function(){ Vue.prototype.$toast=function(){ }} // 导出这个对象 e ...