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简介 为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台 开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等, 开 ...
随机推荐
- 蓝桥杯 算法训练 ALGO-129 特殊的数字四十
算法训练 特殊的数字四十 时间限制:1.0s 内存限制:256.0MB 特殊的数字四十 问题描述 1234是一个非常特殊的四位数,因为它的各位数之和为10,编程求所有这样的四位十进制数. 输出 ...
- Java栈,队列,优先队列的使用
1. 栈的使用: import java.util.*; public class Main{ public static void main(String[] args){ Deque<Str ...
- java代码,用continue写出偶数
总结:不满足条件时,输出当前==== package com.b; import java.util.Scanner; //用continue写出偶数的代码是: public class twe { ...
- altium designer 中器件原理图库中,将一个器件分成几部分是如何操作的?就是如何用part表示?
在SCH Library的Components中选中你要添加part的器件,tools菜单--new part即可
- c语言-树的基础知识
第一.树的定义: 1.有且只有一个称为根的节点 2.有若干个互不相交的子树,这些子树本身也是一颗树 第二.专业术语: 树的深度:从根节点到最低层,节点的层数 ,称之为树的深度. 根节点是第一 ...
- 以ed结尾的单词
1 规则动词词尾加-ed有三种读音 1.1 以清辅音结尾,加-ed 在清辅音后读作[ t ].如: ask → asked look → ...
- 使用cython把python编译so
1.需求 为了保证线上代码安全和效率,使用python编写代码,pyc可直接反编译,于是把重要代码编译so文件 2.工作 2.1 安装相关库: pip install cython yum insta ...
- java 多线程系列基础篇(九)之interrupt()和线程终止方式
1. interrupt()说明 在介绍终止线程的方式之前,有必要先对interrupt()进行了解.关于interrupt(),java的djk文档描述如下:http://docs.oracle.c ...
- Matlab并行编程方法1
相信很多朋友在利用matlab进行计算时,会遇到循环次数过大,或者是单次计算量过大的问题,比如需要计算的数值阵列数据量过大,利用传统的编程方式,跑一次程序几个小时,都要等的急死了是不是呢?如果遇到这种 ...
- FFmpeg for Android compiled with x264, libass, fontconfig, freetype and fribidi
android下打算使用ffmpeg的 drawtext ,不过需要 --enable-libfreetype 但是freetype是个第三方库,所以需要先编译freetype,然后再编译ffmpe ...