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.生成公网访问的脚本文件

http://119.23.8.86/imooc.php

<?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实现微信公众平台开发—基础篇的更多相关文章

  1. 微信公众平台开发 - 动手篇。使用weinxinFundation开始一个微信公众平台的开发

    本文主要讲解如何使用 weinxinFundation 进行二次开发. 步骤如下: 1.创建新的web项目. 在eclipse里新建一个dynamicly web project,比如本文叫weixi ...

  2. [转]抢先Mark!微信公众平台开发进阶篇资源集锦

    FROM : http://www.csdn.net/article/2014-08-01/2820986 由CSDN和<程序员>杂志联合主办的 2014年微信开发者大会 将于8月23日在 ...

  3. PHP实现微信公众平台开发 全套视频资源下载

    好久没有在博客园更新东西了,今天给大家分享一份比较不错的视频学习资源吧. 主要是关于PHP实现微信公众平台开发,  不知道大家对于微信平台的开发有多少了解,那么今天就从基础开始吧,资源目录如下(PS ...

  4. 第一篇:微信公众平台开发实战Java版之了解微信公众平台基础知识以及资料准备

    相信很多人或多或少听说了微信公众平台的火热.但是开发还是有一点门槛,鉴于挺多朋友问我怎么开发,问多了,自己平时也进行以下总结.所以下面给大家分享一下我的经验: 微信公众号是什么? 官网的介绍:再小的个 ...

  5. 第九篇 :微信公众平台开发实战Java版之如何实现自定义分享内容

    第一部分:微信JS-SDK介绍 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包. 通过使用微信JS-SDK,网页开发者可借助微信高效地使用拍照.选图.语音.位置等手机系统 ...

  6. 第八篇 :微信公众平台开发实战Java版之如何网页授权获取用户基本信息

    第一部分:微信授权获取基本信息的介绍 我们首先来看看官方的文档怎么说: 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑. 关于网页授权回调域 ...

  7. 第七篇 :微信公众平台开发实战Java版之如何获取微信用户基本信息

    在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的.对于不同公众号,同一用户的openid不同). 公众号可通过本接口来根据O ...

  8. 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单

    我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...

  9. 第五篇 :微信公众平台开发实战Java版之如何获取公众号的access_token以及缓存access_token

    一.access_token简介 为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台 开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等, 开 ...

随机推荐

  1. L2-023. 图着色问题(暴力)

    L2-023. 图着色问题 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 图着色问题是一个著名的NP完全问题.给定无向图 G ...

  2. Java-API:java.util.list

    ylbtech-Java-API:java.util.list 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部 1. https://docs.oracle.co ...

  3. 2.《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:

    转自:https://www.cnblogs.com/ssslinppp/p/4528892.html 个人认为,使用@ResponseBody方式来实现json数据的返回比较方便,推荐使用. 摘要 ...

  4. opengl版本和扩展

    检查自己的OpenGL版本 可以很容易的知道自己系统中的OpenGL版本,方法就是调用glGetString函数. const char* version = (const char*)glGetSt ...

  5. Yii::app()

    Yii::app()返回的是你在index.php里创建的CWebApplication实例. 在一次请求处理过程中,这是个唯一的实例. Yii::app()主要负责一些全局性的功能模块,比如Yii: ...

  6. struts2学习笔记(4)接收参数

    ①用action属性接收 登录界面例子 在webroot下创建login.jsp和success.jsp login.jsp中加入表单: <form action="LoginActi ...

  7. ascii#ascii,对象类中找__repr__,获取其返回值

    #!/usr/bin/env python #ascii,对象类中找__repr__,获取其返回值 class Foo : def __repr__(self): return "hello ...

  8. 关于TortoiseGit设置代理服务器会自动取消的问题解决方法

    在前些日子,我使用TortoiseGit的并给其设置代理服务器的时候,每次设置好之后,关闭打开总是会自动取消勾选,通过不断的尝试和分析之后,得出了解决方案. 首先,这个配置项是保存在HOME环境变量对 ...

  9. git在eclipse中的配置 完整版 转载

    http://www.cnblogs.com/zhxiaomiao/archive/2013/05/16/3081148.html

  10. ROS Learning-002 beginner_Tutorials 如何添加ROS环境变量 和 如何更新ROS源代码

    ROS Indigo beginner_Tutorials 之 添加环境变量 和 更新ROS源代码的命令 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubu ...