一、微信公众平台概述

1、微信发展史

1)2011年1月21日,腾讯推出微信应用程序。(张小龙)

2)2012年8月20日,腾讯推出微信公众平台功能,同年11月开放第三方接口

3)2013年11月注册用户量突破6亿,是亚洲地区最大用户群体的移动即时通讯软件。

4)截止到2016年第二季度,微信已经覆盖中国 94% 以上的智能手机,月活跃用户达到 8.06亿,用户覆盖 200 多个国家、超过 20 种语言。

2、微信公众平台

微信公众平台是腾讯为了让用户申请和管理微信公众账号而推出的一个Web平台,而微信公众账号的操作管理在这个平台下进行。所有用户都在腾讯提供的统一微信公众平台下进行

用来管理微信公众号

相关操作:

平台地址:https://mp.weixin.qq.com/

3、微信与微信公众平台的区别

微信APP是基于点对点关系 个人私人化使用 你发信息给你的同学

微信公众平台 是基于一对多关系 公众公开使用的 可以给关注了它的用户进行资讯信息推送及其相关服务功能的提供。

4、微信公众平台的两种运营模式(重点)

  • 编辑模式

使用微信公众号提高的统一的微信公众管理平台,进行操作。所有功能都已经写好,直接使用即可。只需要编辑相关内容信息。适合不会编程的人使用。

  • 开发者模式

微信公众平台提供了服务器接入的方式,具有开发能力的运营者,可以进行定制开发。

注意:微信公众平台管理中,编辑模式和开发者模式是互斥的,也就是说只能使用其中一种。

5、演示微信公众平台的编辑模式

可以在微信公众平台的编辑模式,进行用户相关操作的管理和消息回复。

不需要写代码,就可以实现一些基本功能。

6、哪些人在使用微信公众平台

①明星 陈坤 个人宣传

②企业 进行文化宣传

③商城网站 jd 苏宁易购

④教育集团 学英语的新东方教育集团 黑马程序员公众号

进行咨询消息的推送及其功能服务的实现

二、微信开发者模式

1、什么是开发者模式

微信公众平台提高了第三方服务器接入的方式。

第三方服务器可以调用微信公众平台提高的API接口的方式,实现一些功能和数据的对接。

第三方服务器:运营此公众号的运营者的服务器

2、微信开发者模式原理图

①通过微信APP关注黑马程序员公众号

②发送“获取PHP最新的免费视频课程”

③微信公众平台没有相关信息

④微信公众平台发送请求到第三方服务器,查询到数据,再返回给微信APP

3、开发前准备

开发前需要注意以下几个事情:

  • 拥有一个微信公众账户

    http://kf.qq.com/faq/120911VrYVrA151009eIrYvy.html

  • 具有一个可以公网访问的服务器

    1>真实的物理服务器 几万RMB

    2>云服务器 可以租用一年或者按时间、按流量

    aliyun 腾讯云 百度云

    3>云引擎 BAE 百度 SAE 新浪

    4>内网穿透的方式 把内网的服务器,通过技术手段,映射到外网公网访问

    花生壳 NATAPP

4、NATAPP软件注册

网址:https://natapp.cn/

注意:免费通过可以测试使用,但是目前由于国内法律原因,需要进行实名认证。

免费购买成功后,如下图所示:

之后会使用这个authtoken进行配置。

5、配置NATAPP软件

  • 根据系统位数,选择安装对应系统软件

  • 解压对应文件压缩包,并和config.ini配置文件,放到一个软件目录

    软件运行目录,不可以有中文或者空格

  • 配置config.ini

  • 使用cmd命令行启动natapp软件

现在外网公网就可以通过以上域名进行访问,本地内网的服务器了

注意:这个命令行窗口,不能够关闭,如果关闭,就不能够同于域名进行外网访问了。

6、接入第三方服务器

为了能够让微信公众平台,找到对应运营此公众账号的第三方服务器。

第三方服务器,需要进行接入配置。

参考微信公众平台开发文档:

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319

  • 获取到接入文件
  • 复制里面的文件,放入WWW目录,修改名称为api.php
  • 在微信公众平台开启开发者模式,并配置相关服务器信息

看到页面上方的提交成功,验证也就成功了,服务器接入成功。

7、开启自动回复功能

修改代码调用消息管理方法

查看回复效果

三、微信的6大接口

1、介绍

文档地址

用户可以给微信公众号发送的数据类型

文本、图片、语音、视频、小视频、地址位置、链接

2、判断用户发送的数据类型

接收用户的信息,微信公众平台推送到第三方服务器,是以XML文档方式进行发送的。

xml:可拓展标记语言(和HTML类型),可以自定义标签。用来进行数据标识

①具有一对根标签

②标签是闭合的,成对出现

写一个例子:存储一个人信息

xiaoming

18

PHP

可以接收的各种类型的消息XML模板

通过XML标签里的MsgType进行判断接收到的何种消息类型

文本 MsgType = text

图片 MsgType = image

语音 MsgType = voice

视频 MsgType = video

小视频 MsgType = shortvideo

地理位置 MsgType = location

链接 MsgType = link

3、使用文件接收并返回信息

  • 添加获取接收信息的类型

四、微信的3大回复接口

1、文本回复接口

2、音乐回复接口

3、图文回复接口

五、微信与图灵机器人

1、客服机器人

看到一些微信公众号,有自动回复功能,并且是比较智能的。

可以处理一些对应的问题回答,节省人工。

2、图灵机器人

属于第三方机器人,可以进行聊天,天气查询等等功能的实现。

官方网址:http://www.tuling123.com/

http://www.turingos.cn/tiyan_duihua.html

3、图灵接口的调用

http://www.tuling123.com/help/h_cent_webapi.jhtml?nav=doc

  • 注册一个账户

  • 登陆管理平台,创建机器人获取key

  • 进入已经创建好的机器人,查看信息

    获取申请好的API地址和APIKEY

    注意数据注意两个点:

    ①POST传输方式

    使用curl函数库进行封装

    ②传输的是JSON格式数据,需要设置Header头的传输长度

    array数组通过json_encode转数据为json格式。

    curl_setopt($ch, CURLOPT_HTTPHEADER, array(

    ​ 'Content-Type:application/json',

    ​ 'Content-Length:'.strlen($data))

    );

    使用curl函数封装,进行发送请求API,获取对应的数据

    参考文件tuling.php

php速成_day4的更多相关文章

  1. 《LoadRunner12七天速成宝典》来了

    看到自己的新书又要发行了,算算从09年第一本书开始,不知不觉已经是第四本书了(帮朋友合写的书不算),每次写完之后都会说太累了,不想再写了,但是却又次次反悔,吞下食言的苦果.如果非要说第四本书的感受,那 ...

  2. Java正则速成秘籍(一)之招式篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  3. Java正则速成秘籍(二)之心法篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  4. Java正则速成秘籍(三)之见招拆招篇

    导读 正则表达式是什么?有什么用? 正则表达式(Regular Expression)是一种文本规则,可以用来校验.查找.替换与规则匹配的文本. 又爱又恨的正则 正则表达式是一个强大的文本匹配工具,但 ...

  5. 【小白的CFD之旅】08 CFD速成之道

    学了那么一个星期的流体力学,又看了一周的计算流体力学,小白对于如何应用CFD解决工程流体问题,依然是一无所知.眼看一个月的时间已经过半,小白有点着急起来.于是在一个阳光明媚的早晨,小白又找到了黄师姐. ...

  6. 一个简单的html5页面在线速成工具!(当然本文主要说下他的成果的结构)

    分享一个好玩的web app页面速成工具 当然主要是让大家看下他的原理 看着他的结构大家就该猜到这个了.这个是利用换页之后给当前div加了一个active,然后利用css控制效果 这个毫无疑问是采用最 ...

  7. 高手速成android开源项目【导航篇】

    Android开发又将带来新一轮热潮,很多开发者都投入到这个浪潮中去了,创造了许许多多相当优秀的应用.其中也有许许多多的开发者提供了应用开源项目,贡献出他们的智慧和创造力.学习开源代码是掌握技术的一个 ...

  8. 【翻译】CEDEC2015 速成Albedo Chart 制作

        关于pbr材质和贴图的制作,最近llegorithmic提供了几篇不错的guide  https://www.allegorithmic.com/pbr-guide   不过像如何从通过现实场 ...

  9. 30天,O2O速成攻略【8.30南京站】

    活动概况 时间:2015年8月30日13:30-16:30 地点:啡咖啡·孵化器(南京市玄武大道699-22号江苏软件园22栋) 主办:APICloud.Udesk.人为峰 网址:www.apiclo ...

随机推荐

  1. Linux 下配置多路径及SCSI扫描磁盘重新发现大小

    Linux SCSI扫描磁盘重新发现大小: # for i in `find /sys/class/scsi_host/host*`; do echo 1 >> $i/issue_lip; ...

  2. mysql IF-IFNULL和IF-ISNULL同样逻辑的运行差别

    首先,目标记录是存在的 SELECT * FROM d_device_user_bind dub WHERE dub.`uid`='222222222221' 其次, SELECT dub.uid,d ...

  3. 用25行JavaScript语句实现一个简单的编译器

    原文:https://www.iteye.com/news/32680 译者注:即使对于专业程序员来说,构造一个编译器也是颇具挑战性的任务,本文将会引导你抽丝剥茧,一探究竟! 我已经写了几篇与编程语言 ...

  4. 070-PHP数组相加

    <?php $arr1=array('a','b','c'); //定义一个数组 echo '数组$arr1的信息:<br />'; print_r($arr1); //输出数组信息 ...

  5. mysql union 和union all

    http://www.w3school.com.cn/sql/sql_union.asp

  6. linux之 文本编辑 的基础知识点

    第一步 打开终端 创建文件命令 touch 文件名.后缀名 打开文件命令 vi 文件名.后缀名 (此时进去txt文件之后为一般模式,你无法对文件进行增删改) 之后按 i    或 a    或o  都 ...

  7. ntpdate更新系统时间时报错Can't find host ntp1.aliyun.com: Servname not supported for ai_socktype (-8)

    ntpdate更新系统时间时报错Can't find host ntp1.aliyun.com: Servname not supported for ai_socktype (-8) 所报错误: [ ...

  8. Spring 事件(1)- 内置事件

    Spring 系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of ...

  9. Spring开发环境搭建(Eclipse)

    开发环境搭建,主要包含2部分: Java安装 Eclipse安装 为易于学习,我们只安装这2个部分,对于一般开发学习也足够了.如果你有其他要安装的,酌情添加. Java安装 我们使用Java8: 下载 ...

  10. Session.Abandon与Session.Clear之间的区别

    Session.Clear()就是把Session对象中的所有项目都删除了,Session对象里面什么都没有.但是Session对象还保留. Session.Abandon()就是把当前Session ...