微信公众平台开发技术(txt+pdf+epub+mobi电子书下载)


发布时间:2021-03-29 07:09:41

点击下载

作者:秦长春 欧国建

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

微信公众平台开发技术

微信公众平台开发技术试读:

前言

微信从2011年诞生到现在还不足八年时间,却拥有着庞大的用户群。截至2017年9月,微信在全球共有9.36亿月活跃用户,而新兴的公众平台已超过2 000万个。微信不只是一个聊天工具,它已经成为一种生活方式。

微信公众平台是在微信的基础上新增的功能模块。官网只提供了一些基础的功能,如消息回复、群发消息、菜单设置等,然而这些基础功能并不能满足众多企业为其客户在微信上提供服务的需求。为此,微信公众平台开放了一系列的API接口,如自定义菜单接口、微信支付接口等,企业可以通过调用这些接口,为用户提供更好的线上体验,提升企业品牌效应。

本书针对高职院校的特点,采用“教、学、做”一体化的教学模式,为培养高端应用型人才提供适合的教学与训练。本书以微信公众平台的二次开发为主线,从微信公众平台的申请到开发环境的搭建,从具体API接口的开发应用到实战项目的开发实现,进行了系统、全面的整理,然后分享给读者。读者在使用本书的过程中,不仅能进行基本技术学习,而且能按项目实践要求进行项目的开发,完成相应功能的实现。

本书作者有着多年的实际项目开发经验,以及丰富的高职高专教育教学经验,并且完成了多轮次、多类型的教育教学改革与研究工作。

本书主要特点如下。

1. 实际项目开发与理论教学紧密结合

为了使读者能快速地掌握微信平台开发技术,并按实际项目要求熟练运用相关知识,本书在部分章的最后根据实际项目设计了动手实践内容,且最后三章设计了项目实践,帮助读者进行独立的学习与训练。

2. 合理、有效地组织教学内容

本书按照由浅入深的顺序,在引导读者逐渐认识公众平台功能的同时,引入二次开发技术与知识,将技术讲解与训练合二为一,有助于“教、学、做”一体化教学的实施。

本书由秦长春、欧国建任主编,谢雪景、邓剑勋任副主编,秦长春统编全稿。同时本书受到了国家级高技能人才培训基地(重庆电子工程职业学院)建设项目的资助,是项目中软件与信息服务领域的骨干培训教材之一。

由于编者水平有限,书中不妥或疏漏之处在所难免,殷切希望广大读者批评指正。同时,读者一旦发现问题,恳请于百忙之中及时与编者联系,以便尽快更正,编者将不胜感激。编者E-mail为jzqcc@163.com。编者2017年12月第1章 初识微信公众平台学习目标

• 了解微信公众平台的概念。

• 了解微信公众平台的发展历程与功能。

• 熟悉微信公众平台的注册与认证流程。

• 掌握公众平台的两种模式——编辑模式与开发模式的使用。

微信是腾讯公司于2011年1月21日为智能移动终端推出的一个应用程序。自发行之初就受到公众广泛的关注。经过近几年的发展,微信已成为国内智能手机用户必备的APP之一。截至2017年9月,微信已经覆盖了90%以上的智能手机,全球月活用户数量已达到9.36亿,而新兴的公众平台已超过2000万个。

微信公众号作为微信的主要服务之一,已逐渐渗透到微信用户生活之中,可以为用户提供新闻资讯或服务,为企业、政府或其他事业单位提供用户管理的工具。目前,已有将近80%的微信用户关注了微信公众号。微信公众平台开发技术是基于微信公众号进行业务开发的,实现了运营者向其粉丝或客户传递信息或运营企事业单位业务的作用,该技术对于微信公众开发者而言是必备的技能。

本章主要介绍微信公众平台的基础知识,包括微信公众平台的概念、发展历程及其功能,同时详细介绍了公众平台的注册流程,简单说明了公众平台编辑与开发的两种模式的使用。本章内容有助于读者了解微信公众平台,熟悉公众账号的注册与使用过程,对后面的学习意义重大。1.1 什么是微信公众平台

微信公众平台是运营商通过公众号为微信用户提供资讯与服务的平台,是腾讯公司在微信基础平台上新增的功能模块。每个人都可以通过这个平台打造自己的微信公众号,企业可以在微信平台上实现为客户群发文字、图片、语音、视频、图文消息5个类别的内容。微信公众平台支持PC端网页、移动互联网客户端登录,可以绑定私人账号进行群发信息。

在公众平台发布初期,有大量的媒体和企业将平台开辟成另一个营销网站,每天定时推送消息。腾讯公司为了将微信公众平台打造成企业、机构、个人用户之间交流和服务的优质平台,降低沟通与交易成本,创造出更多的社会价值,确定了平台运营的基本原则,具体如下。

1. 建立良好的用户体验

• 开发运营含有丰富交流与互动元素的公众号。

• 为用户提供更多的选择和控制。

• 提供具有价值的、持续性的并与该账号高度相关的内容。

2. 要值得信赖

• 充分尊重用户并理解用户。

• 遵守国家相关法律法规,不涉及违法或违反《微信公众平台服务协议》及相关规则的内容和行为。

• 不发送垃圾信息且不存在过度营销行为,鼓励向用户传送符合需求的真实资讯。1.2 微信公众平台介绍

微信整个板块包含个人微信、二维码、公众平台等几部分,其中,公众平台是微信系统的重要组成部分。微信公众平台是给企业、个人与组织提供业务服务和用户管理功能的全新服务平台,也为媒体和个人提供了一种新的信息传播方式,构建与读者之间更好的沟通与管理模式。另外,新增加的小程序提供了一种新的开放功能,实现了用户“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。1.2.1 发展历程(1)公众平台曾命名为“官号平台”和“媒体平台”,最终定位为“公众平台”。微信公众平台与微博等其他平台不同,其宗旨是通过海量的用户数据挖掘用户价值,为这个平台增加更加优质的内容,创造更好的黏性,形成一个不一样的生态循环。通过这个平台,人们可以真正地实现双向的交流与沟通。2012年8月23日,微信公众平台正式上线。(2)2013年8月5日,腾讯公司对公众平台做了以下调整。

• 运营主体为组织,可在新注册的时候选择成为服务号或者订阅号。之前注册的公众号,默认为订阅号,可升级为服务号。

• 服务号可以申请自定义菜单。

• 使用QQ登录的公众号,可以升级为邮箱登录。使用邮箱登录的公众号,可以修改登录邮箱。

• 编辑图文消息可选填作者。

• 群发消息可以同步到腾讯微博。(3)2013年8月29日,微信公众平台新增数据统计功能。(4)2013年10月29日,开放客服接口、网页授权等高级接口,新增开发者问答系统。(5)2013年12月2日,公众平台新增测试账号功能,开发者可以使用手机号申请接口测试账号,体验高级接口。(6)2014年1月24日,更新微信认证,开放订阅号的企业类型认证,所有获得成功认证的账号(包括微信认证和已获得关联微博认证的账号)都可以自动获得自定义菜单。关闭企业组织类型的微博认证入口,同时由于微信认证不支持个人认证,个人的订阅号可申请关联个人微博认证。(7)2014年4月15日,所有服务号的群发次数由原来的每月1次改为每月4次。(8)2014年4月25日,增加了公众平台的开发接口的access_token长度,其存储至少要保留512个字符空间。(9)2014年5月9日至29日,公众平台新增投票和多客服功能;增加微信小店功能,可快速开店。(10)2014年7月2日,微信公众平台改版,调整内容如下:

• 允许在图文消息中加入跳转链接;

• 将服务中心升级为功能插件;

• 将商户功能改名为微信支付;

• 新增开发者中心,去除编辑和开发模式,开发者可以在开发者中心中统一管理开发资源、权限和配置。(11)2014年7月7日,新增推广功能。广告主可定向投放广告,精准推广自己的服务;流量主可提供广告展示,按月获取收入。(12)2014年8月18日,微信公众平台开放设备接入功能,使公众号获得绑定设备和传输设备数据的能力。(13)2014年9月18日,公众平台“企业号”上线。继订阅号、服务号之后,成为第三种公众号。企业号适用于企业与员工或上下游供应链之间的沟通,旨在通过微信连接企业应用,为企业提供移动端办公入口。(14)2014年9月19日,自定义菜单针对开发者增加扫一扫、发图片、发地理位置等功能。(15)2014年9月30日,公众平台新增卡券功能。支持的卡券类型有代金券、折扣券、礼品券、团购券、优惠券。(16)2015年1月28日至8月19日,新增投票组件化功能;公众平台支持接收微信小视频;新增摇一摇周边功能;微信连Wi-Fi插件对所有公众号开放;公众号文章新增语音功能;公众平台新增城市服务功能。(17)2016年1月11日,公众平台发布微信Web开发者工具。(18)2016年3月21日,微信公众平台推出新版客服功能。(19)2017年1月9日,第一批小程序正式上线,用户可以体验到各种各样的小程序提供的服务。(20)2017年4月20日,微信公众号可关联小程序。(21)2017年4月25日,微信公众号群发文章支持添加小程序。(22)2017年6月6日,对所有公众号开放在图文消息中插入全平台已群发文章的链接。1.2.2 公众平台功能

从微信公众平台运营者的角度出发,目前微信公众平台官网提供12个功能模块,也可以叫功能插件,这里除了官网介绍的功能外,再增加一个最基本的群发消息的功能,也是用得最多的一个功能,这些功能模块也是随着业务的不断分化而不断进行改进和增加的,分别如下。

1. 群发功能

公众平台的群发消息与手机群发短信相比,成本更低廉,内容丰富,形式多样,这样的优点受到企业、媒体、政府和其他组织的青睐,对品牌的建设与宣传有积极的意义。

在公众平台初期,所有类型的公众账号每天都可以群发一条消息,这样严重影响了用户体验,甚至导致大量微信用户取消关注。为了避免这一情况的出现,腾讯公司修改了群发次数规则,现在只有订阅号每天(24小时)可以群发一条消息,而服务号一周才能群发一条消息。企业号作为企业内部交流的账号,可以无限制地群发。

目前支持群发的内容有文字、语音、图片、视频、图文消息5种,群发内容是在素材管理中通过新建图文消息或选择已有的图文消息进行群发,用户可以将本地图片、语音等上传到素材管理,可以一直使用,没有失效期。

2. 模板消息

公众号可以向用户发送预设的模板消息,模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知、商品购买成功通知等,不支持广告等营销类消息以及其他所有可能对用户造成骚扰的消息。

3. 门店管理

门店管理是公众平台向商户提供的对其线下实体门店数据的基础管理功能。通过门店管理功能,商户可对自己的实体门店数据进行线上管理,并在相关业务场景中运营和展示,商户可直接通过公众平台门店管理功能新建、查看或编辑自己的门店。这里的门店信息是以地理位置为基础的公共信息,商户可以添加使用已有门店,也可以创建尚未被收录的门店或提交对门店信息的编辑建议。门店信息的所有权归微信所有,门店数据的收录和运作有严格的审核机制,商户提交的新门店信息或编辑建议须经过统一审核。

4. 自动回复

公众号可以针对用户的行为来设置特定的回复内容和丰富的关键字回复规则,而自动回复可以设置被添加时的自动回复、用户发送消息时的自动回复与关键词自动回复。

5. 自定义菜单

公众号可以在会话界面底部设置各式各样的自定义菜单,并可为其设置响应动作。用户可以通过单击菜单项,收到设定的响应,如收取消息、跳转链接等。未认证订阅号只能使用编辑模式下的自定义菜单功能,认证成功后才能使用自定义菜单的相关接口功能。

6. 卡券功能

卡券功能向公众号提供卡券管理、推广、经营分析的整套解决方案。这是提供给商户或第三方的一套派发优惠券、经营管理会员的工具,可在公众平台或通过接口创建卡券,多种渠道投放给用户。用户用券时需要核销卡券,核销后可查看数据、进行对账。卡券的类型如下。

• 朋友共享的优惠券——可利用社交链快速扩散传播,一人领券,本人和朋友皆可看到并使用。

• 普通优惠券——传统优惠券电子版,领取后仅本人可见可用,支持多种类型,包括折扣券、代金券、兑换券、团购券、优惠券。

• 会员卡——支持折扣、积分等玩法,并提供会员管理、数据报表等工具,便于商户高效运营会员。

• 微信买单——无须进行微信支付开发,同时与会员卡、代金券、折扣券关联,可积累用户消费数据,用于经营参考。

• 储值功能——会员卡商户无须申请,可直接通过API接口,使用“余额展示”功能将会员余额显示在微信会员卡首页。具有预付卡资质的商家可申请“储值”功能,申请成功后,可通过API接口设置此入口,帮助会员通过微信支付为会员卡充值。

• 第三方代制模式——经商户授权后,可代子商户快速接入并使用卡券功能,支持通过公众平台或API接口实现该功能。

7. 客服功能

人们可为公众号提供客服功能,支持多人同时为一个公众号提供客户服务,并实时回复粉丝咨询。该功能需要微信认证后才能开通,而且仅提供公众号回答粉丝咨询并进行相应的服务,不能使用客服功能发送垃圾信息、营销信息等。

8. 摇一摇周边

• 顾名思义,摇一摇周边是微信提供的一种新的基于位置的连接方式,为用户提供近距离连接其他用户的能力,支持公众号向线下用户提供个性化信息、互动及服务。用户通过“摇一摇”的“周边”页卡,可以与线下商户进行互动,获得商户提供的个性化服务,商户申请该功能后,需要在门店自主铺设支持iBeacon协议的蓝牙硬件,并在商户后台设置硬件和对应服务的关联。

9. 扫一扫

扫一扫功能是面向品牌所有者的,开放商品条码、二维码(一物一码)的连接功能,用于展示信息和提供服务。品牌可整合微信原生能力,通过微信一物一码提供防伪查询服务、商品促销发红包等精准化营销。品牌所有者可自主编辑商品主页,维护商品信息,提供商品相关服务,进行用户管理和数据管理。目前此功能正在公测中。

10. 设备功能

设备功能可使公众号获得绑定设备和传输设备数据的能力,让人们的设备与亿万微信用户相连,如微信运动、通过微信控制、微信配置网络等。

11. 投票管理

投票管理允许公众号进行新增、删除和查看的操作。新增的投票功能需要插入到图文消息中,通过群发、自动回复和自定义菜单发出,投票结果来自于上述所有渠道的汇总。

12. 微信小店

一站式的微信开店,可帮助已开通微信支付的公众号实现快速便捷地开店和管理商品。微信小店是在微信支付功能的基础上,支持商家使用添加商品、商品管理、订单管理、货架管理、运费模块管理等功能。有开发能力的商家可以通过接口批量操作,以快速开店。开通后就可以在微信小店中进行小店的开启、运营和使用。普通用户可直接通过小店功能管理小店,开发者则可以通过开发接口来实现更灵活的小店运营。微信小店只能售卖所选微信支付经营范围之内的商品。

13. 微信连Wi-Fi

微信连Wi-Fi是微信推出的快速连接Wi-Fi热点的功能,提供Wi-Fi近场服务功能,打通线上与线下的闭环,可以更好地提高商户的经营效率。商户启用该功能后,其顾客仅需通过微信“扫一扫”二维码等方式,即可快速连接商户提供的Wi-Fi免费上网。连接成功后,用户微信主界面顶部会出现“正在连接Wi-Fi”的状态提示,用户单击该提示,即可查看优惠活动信息以及使用商户提供的在线功能和服务。该功能需要商户具有线下经营场所,并且拥有一台Wi-Fi上网设备。

除了以上介绍的功能之外,微信公众平台还提供了更多更高级的接口来完善公众号的功能,例如,图文消息、图片、音频、视频等素材的增删改的管理;广告主和流量主的推广功能;用户、图文、接口和消息的统计功能等。这样的接口还有很多,均是以插件库的形式根据需要进行自由添加的,微信公众平台也还在不断完善各个功能。1.3 公众平台注册与认证1.3.1 公众号的分类

微信公众平台是运营商通过公众号为微信用户提供资讯与服务的平台,其中提供新闻与资讯的平台称为订阅号,提供服务的平台称为服务号。后来增加了企业微信和小程序,企业微信为企业提供移动应用入口,简化管理流程,提高组织协同效率;小程序是一种不需要下载安装即可使用的应用,体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。

为了方便实现微信用户和开发者的特定需要,腾讯公司将微信公众号分为订阅号、服务号、企业微信、小程序4个类别。

1. 订阅号

订阅号为媒体和个人提供一种新的信息传播方式,构建与读者之间更好的沟通与管理模式。订阅号适合企业组织和个人,主要用于信息的发布,为用户传达资讯。其起点低,应用简单,功能单一。

2. 服务号

服务号为企业和组织提供强大的业务服务与用户管理功能,帮助企业快速实现全新的公众号服务平台。它主要面向企业等,向订购服务的用户提供相应的服务。比如销售、查询等,需要一定的开发能力,功能比较齐全、灵活。

3. 企业微信

企业微信为企业或组织提供移动应用入口,帮助企业建立与员工、上下游供应链及企业应用之间的连接。通过特定的开发满足企业的管理需求,通过移动网络实现移动办公,使信息传递更迅速。它可以高效地帮助政府、企业及组织构建自己独有的生态系统,随时随地连接员工、上下游合作伙伴的交流,帮助实现业务及管理互联网化;企业微信只有具有一定资质的企业才能使用,目前不收费。

4. 小程序

为了提供更好的服务,微信团队研究出了新的形态,叫作微信小程序。小程序于2017年1月9日正式上线,它是一种新的开放功能,开发者可以快速地开发一个小程序,可以在微信内被便捷地获取和传播。小程序是一种用户不需要下载安装即可使用的应用,用户扫一扫二维码或搜一下就可以打开应用。它是一种“轻应用”,用户无须安装和卸载,也不必关心太多问题,随时可用。用户使用的小程序,将以列表的方式呈现在小程序TAB中,例如京东购物、滴滴公交查询等小程序,如图1-1所示。图1-1 小程序

订阅号、服务号、企业微信和小程序是并行的体系,不仅在用途上有很大的区别,功能权限也有很大的不同。订阅号主要偏向于为用户传达资讯(类似报纸杂志),认证前后每天都只可以群发一条消息;服务号主要偏向于服务交互(类似银行、114,提供服务查询),认证前后都是每个月可群发4条消息,认证后的服务号具有高级接口能力;企业微信主要用于公司内部通信使用,需要先有成员的通信信息验证才可以成功关注企业微信;小程序主要是一种“轻应用”,为企业和用户提供更好的服务。订阅号服务号的功能介绍如图1-2所示。图1-2 订阅号与服务号的功能介绍

注意:如果想简单地发送消息,达到宣传的效果,建议选择订阅号;如果想进行商品销售,建议申请服务号;如果想用来管理企业内部员工、团队,建议选择企业微信。4种公众号的图例说明如图1-3所示。图1-3 4种公众号的图例说明1.3.2 注册网址及流程

上面提到公众号分为几类,那么在注册账号之前应先了解哪种类型的账号更符合实际需求。不仅如此,还需要知道注册公众号需要哪些资料。在注册公众号时,不同的运营主体所需要填写的资料不相同,运营主体主要分为组织和个人,组织又包括政府、媒体、企事业单位等。

1. 选择运营主体

选择运营主体时可以参考《组织机构代码证》上的机构类型来选择公众平台注册的主体类型,如表1-1所示。表1-1 运营主体的选择

2. 所需资料

不同的运营主体需要准备不同的资料以用于公众号注册与认证,主要资料如表1-2所示。表1-2 不同运营主体所需材料

3. 注册流程(1)首先打开网址https://mp.weixin.qq.com,单击右上方的超链接“立即注册”进入注册页面。然后选择账号类型,可以选择的有订阅号、服务号、小程序、企业微信,如图1-4所示。如果运营主体为个人,只能选择订阅号;账号类型可以参考上一小节公众号的分类和运营主体具体的需求进行选择。其中前面没有介绍的小程序是一种新的开放功能,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。图1-4 公众号的注册类型选择(2)选择账号类型之后进入注册信息填写页面,包括基本信息、选择类型、信息登记、公众号信息4个部分,如图1-5所示。图1-5 注册信息填写页面

① 基本信息。包括邮箱、密码、验证码等内容。

在邮箱收到的邮件里面单击链接激活公众号,如果链接没有失效就可以成功激活。需要注意的是,每个邮箱只能注册一次账号,所以以前注册过公众号的邮箱无法再次使用。如果收不到激活邮件,可以在邮箱设置里面添加白名单(weixinteam@tencent.com),再重新发送邮件;再收不到激活邮件就需要更换网络环境或邮箱。

② 选择类型。激活成功后首先需要选择企业注册地,然后进入账号类型的选择界面,如图1-6所示。可以参考1.3.1小节的账号介绍,根据运营主体的需求选择合适的账号类型。需要注意的是,一旦成功创建账号,类型不能变更,如果选择错误,只能重新注册,所以一定要仔细了解账号类型,之后谨慎选择自己需要的类型。图1-6 账号类型选择页面

③ 信息登记。这个环节需要确认微信公众号主体类型,即是属于政府、媒体、企业、其他组织还是个人,并按照对应的类别进行信息登记。那么如何选择运营主体类型,可以参考表1-1来进行。

选择运营主体后,需要填写表1-2所示的相应资料信息,比如其他组织应填写组织名称、机构代码、注册方式、运营者身份信息等。

在这个环节,选择的注册方式主要有两种:支付验证注册与微信认证注册。第一种需要用公司的对公账户向腾讯公司打款来验证主体身份。打款信息在提交主体信息后可以查看到。第二种通过微信认证验证主体身份,需支付300元认证费。

④ 公众号信息。主要填写公众号名称与公众号介绍等,如图1-7所示。图1-7 公众号信息填写页面

需要注意的是,账号名称是公众号昵称,无须和公司名称一样,但是不能与其他账号名称同名,也就是命名要求具有唯一性。功能介绍无须和公司的经营范围一致,但不能带有被保护、违规的词汇,如男科、微信、热线、兼职、相册等。(3)以上信息提交成功后就进入账号审核阶段。

账号审核时间会根据第(2)步中的选择注册验证方式的不同而有所不同。如果选择支付验证注册,需要在10天内给指定账户进行小额打款,具体金额随机生成,当账号主体的对公账户与打款账户一致,且打款金额与随机生成的金额一致就可以成功注册,并且打款的金额在3个工作日之内退还到对公账户上;当选择微信认证的方式时,信息填写并提交之后,在30天内必须完成微信认证,否则需要重新填写资料。在微信认证方式下,需要服务审核费300元/年,支付成功后在1~5个工作日之内审核。

在审核阶段,微信公众号无法申请认证;虽然公众号可以登录,但是功能无法正常使用,需要打款验证通过之后,才能正常使用该公众号;他人也无法通过“搜索公众号”搜索到微信公众号。1.4 公众平台的编辑与开发

通过以上内容的学习,相信读者对公众平台的概念与功能有了一定的了解,并申请了一个公众号。为了后续的学习与开发,建议在条件允许的情况下选择申请一个服务号。公众号申请之后只能使用一部分功能。在公众平台的高级功能模块中可以看到两种模式,分别是编辑模式与开发模式。这两种模式不能同时使用,是相斥的。1.4.1 编辑模式

微信公众平台在开通编辑模式的情况下,可以实现文字、语音、图片、图文消息的自动回复和关键词自动回复,还可以开通微信自定义菜单功能。所有的设置都是在公众平台中完成的。

编辑模式的优点在于简单易用;上手容易,不需要学习代码知识;响应速度快。这是因为在编辑模式下不用重新搭建服务器。

它的缺点也比较明显,主要如下。

• 文字回复有300字限制,关键字回复上限为200条。

• 扩展功能有限,不能调用网络平台上面的地理位置、API等信息。

• 没有数据库,如果使用者有自己的网站或者会员数据库,那么无法对接和处理海量的数据库。

1. 自动回复

自动回复功能是公众号运营者通过简单的编辑,设置被添加自动回复、消息自动回复与关键词自动回复,可以设置文字、图片、语音、视频类型的消息,并制定自动回复的规则。当订阅用户的行为符合自动回复规则的时候,就会收到自动回复的消息。(1)被添加自动回复

被添加自动回复是指当粉丝关注公众号时,公众号会自动将设置的文字、图片、语音、视频消息发送给用户。设置后也可以根据需要修改或删除回复。该消息一般称为关注欢迎语,如图1-8所示。图1-8 被添加自动回复(2)消息自动回复

消息自动回复是指用户发送消息给公众号时,公众号会自动将设置的文字、图片、语音、视频消息发送给用户。需要注意的是,1小时内只能回复1~2条消息,并且暂时不支持图文、网页地址消息回复,如图1-9所示。图1-9 消息自动回复(3)关键词自动回复

关键词自动回复是指用户发送符合设定规则的消息时,公众号会自动将设置的文字、图片、语音、视频、图文消息发送给用户,如图1-10所示。如果订阅用户发送的消息内有设置的关键字,公众号运营者可以通过添加规则,把设置在“规则名”中的回复内容自动发送给订阅用户(关键字不能超过30个。可选择是否全匹配,如果设置了全匹配,则关键字必须全部匹配才生效)。图1-10 关键词自动回复

2. 自定义菜单

公众号可以在会话界面底部设置自定义菜单,但一级菜单最多3个,每个一级菜单最多包含5个二级菜单。而一级菜单名称最多由4个汉字组成,如图1-11所示。二级菜单名称最多由7个汉字组成,多出来的部分会以“…”表示。图1-11 自定义菜单1.4.2 开发模式

通过微信公众平台开发模式,可以实现微信编辑模式下的几乎所有的功能,同时提供丰富的接口,实现编辑模式不能满足的应用场景,如特殊业务对接、用户身份验证等。顾名思义,开发模式主要面向具有开发能力的运营者,公众号的功能都需要通过编程实现,实现的功能一般比较复杂,所以这种模式对运营者的要求很高。另外需要强调的是,如果想在开发模式下实现所有功能,就必须进行微信的高级认证。

登录公众平台账号,如图1-12所示,进入“开发”→“基本配置”页面,勾选成为开发者。必须先申请成为开发者,才能开启开发模式。图1-12 开发界面

开发模式相对于编辑模式而言,优点如下。(1)可调用网络API,实现天气、股票、快递、笑话、音乐等信息的查询。(2)对接数据库。对于企业来说,一般都有自己的数据库,而在编辑模式下是不能进行数据库对接的。通过开发模式,可以实现自己网站、论坛上数据库的完美对接。(3)可实现在线移动支付。通过开发模式的二次开发,可以实现基于手机端的移动支付。(4)用户的回复消息可突破300字限制。

与编辑模式相比,开发模式唯一的不足是需要开发者具有一定的开发实践经验,能动手开发。本书的微信平台开发技术主要是站在开发者的角度深入讲解微信公众平台应用开发的技术,以及与其他技术的结合,所以学会开发模式的使用是本书的重中之重。本章小结

本章简要介绍了微信公众平台的概念、公众平台的发展历程、公众平台的功能与公众号的分类,并详细说明了公众平台账号的申请流程。通过本章的学习,读者应对微信平台有了较清晰的了解,可以申请一个自己的公众平台账号,为后面学习微信平台开发打基础。动手实践

学习完前面的内容,下面来动手实践一下吧。

结合公众号的分类及其功能权限介绍,按照微信公众号的注册流程注册一个微信订阅号,设置消息自动回复,以及自定义菜单,并进行关注测试。第2章 微信公众平台开发准备学习目标

• 能够搭建好开发环境。

• 掌握接口在线调试工具调试接口的方法。

• 掌握基础接口调用凭证与获取微信服务器IP地址的方法。

• 掌握微信Web开发调试工具的使用方法。

上一章对微信公众平台的概念、发展历程、注册与认证流程等进行了详细介绍,也简要介绍了编辑与开发模式。相信大家已经能够使用编辑模式实现一些满足特定需求的公众号的功能,但是如果有用户身份验证、对接企业业务系统、个性化回复消息等功能的需求,则只有在开发模式下才能实现。后面几章的内容都是基于开发模式的微信公众号中服务号的开发,在开发之前需要搭建好开发环境。所以本章主要介绍微信公众平台开发环境的准备工作。2.1 开发环境搭建

当开发微信公众号的应用后,需要将其部署到公网服务器进行测试,因为每当微信用户向公众号发起请求时,微信服务器都会先接收到用户的请求,然后转发到服务器上。也就是说,微信服务器要与服务器进行网络交互,所以必须保证服务器可以通过外网访问到。本节将要介绍怎样获取服务器资源、填写服务器配置信息与验证服务器地址的有效性。2.1.1 接入指南

1. 获取服务器资源

微信公众号所需的服务器种类包括云主机、虚拟空间、新浪SAE(Sina App Engine)与百度BAE(Baidu App Engine)等。云主机是指自己托管于互联网数据中心(Internet Data Center,IDC)机房的服务器或者第三方服务商提供的服务器,一般一个人使用一整台服务器;虚拟空间是第三方服务商将一台主机分成多个虚拟主机,供多人使用;而新浪SAE、百度BAE可以申请免费使用,但是有一定条件限制。许多个人开发者和中小企业,可能没有属于自己的服务器资源。人们平时在个人计算机上部署的应用都在局域网环境中,只能供自己或局域网用户访问,公网用户无法访问。但公众平台上的程序需要与微信服务器进行交互,因此必须部署在公网环境中。

以下以新浪SAE为例介绍如何申请免费的SAE应用空间以及上传程序文件。(1)申请账号

在浏览器的地址栏中输入网址http://sae.sina.com.cn/,进入新浪云首页,在该页面中可以选择微博登录或注册账号。注册过程中,在图2-1所示的界面中填写微博账号与密码,或扫描二维码登录后直接跳转到微博授权确认部分,新浪云注册页面如图2-2所示。图2-1 新浪云登录页面图2-2 新浪云注册页面(2)创建应用

注册成功后的页面如图2-3所示,在最上方左侧找到控制台,并从下拉列表中找到云应用SAE。在跳转后的图2-4所示的应用管理部分单击“创建新应用”按钮。图2-3 注册成功页面图2-4 创建应用页面

单击“创建新应用”按钮后将会提示禁止违规行为,单击“继续创建”按钮,弹出创建应用的部署环境、云空间配置、应用信息填写页面。在部署环境模块的运行环境中选择标准环境,如图2-5所示。图2-5 “部署环境”页面(3)创建版本

应用创建后将直接跳转至“代码管理”页面,如图2-6所示,单击页面中的“创建版本”按钮,将会弹出图2-7所示的页面,填写创建的版本号。图2-6 “代码管理”页面图2-7 “创建版本”页面(4)上传代码

在图2-8中,单击“上传代码包”链接将会弹出“代码上传”页面,如图2-9所示。人们只需将微信公众号开发的相关代码压缩包上传至该应用,就可以运行。而单击“编辑代码”链接就可以看到上传的代码文件,并进行编辑,如图2-10所示。需要注意的是,新浪云只支持zip、gz、tar.gz格式的代码包,其他格式的暂时不支持。图2-8 版本显示图2-9 “代码上传”页面图2-10 代码编辑页面

2. 填写服务器配置

在基本配置页面单击“修改配置”按钮,需要填写的配置信息有3个:URL、Token和EncodingAESKey。其中,URL是开发者用来接收微信消息和事件的接口URL,该URL必须正确响应微信发送的Token验证,上面申请的新浪SAE应用就可以用来验证Token;而Token是由开发者任意填写的签名,该Token会与服务器接口URL中包含的Token进行比对,从而验证安全性;EncodingAESKey是由开发者手动填写或随机生成的,主要是用于消息体加密解密的密钥。服务器配置页面如图2-11所示。图2-11 服务器配置页面

与此同时,开发者可以根据业务需要选择消息加解密方式:明文模式、兼容模式或者安全模式。这3种模式的安全级别有明显的区别,如图2-12所示。加解密默认模式为明文模式,选择兼容模式和安全模式时需要写好相关加解密代码。图2-12 消息加解密方式

3. 验证服务器地址的有效性

开发者提交配置信息后,微信服务器将发送GET请求到填写的URL上,从而验证消息的确来自微信服务器,GET请求携带参数如表2-1所示。表2-1 GET请求参数列表

获得GET请求的几个参数后,开发者就可以通过signature对请求进行校验。开发者开发的校验程序要能够处理GET请求,并对请求者进行身份验证,确保请求来自微信服务器。校验流程如下:

① 首先将token、timestamp、nonce这个参数进行字典序排序;

② 随后将3个参数字符串拼接成一个字符串并进行sha1加密;

③ 开发者获得加密后的字符串后可与signature对比,标识该请求来源于微信,原样返回echostr参数内容,则接入生效。

检验signature的C#示例代码如下:  1. public void ProcessRequest (HttpContext context)   2. {   3. string s = "";   4. Listl = newList();   5. l.Add ("你填写的token");   6. l.Add (context.Request.QueryString["timestamp"]);   7. l.Add (context.Request.QueryString["nonce"]);   8. l.Sort ();   9. foreach (string_s in l) s +=_s;   10. s= FormsAuthentication.HashPasswordForStoringInConfigFiles (s,"SHA1"). ToLower();   11. if (s == context.Request.QueryString["signature"])   12. {   13. context.Response.Write(context.Request.QueryString["echostr"]);   14. }   15. }   16. public bool IsReusable{   17. get{   18. return false;   19. }   20. }

接入成功后将成为开发者,可以申请微信认证,获得更多开发接口,实现企业或个人业务需求。2.1.2 接口测试号申请

考虑到用户体验和安全性,微信公众号的注册设置了权限。某些高级接口权限需要微信认证后才可以获取,微信认证必须是企业或组织才能申请,个人是不可以的。所以,为了帮助开发者快速了解和上手微信公众号开发,熟悉各个接口的调用,微信团队推出了微信公众号测试号,测试号的申请比较简单,通过扫描二维码就可以获得测试号。(1)输入网址http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,进入微信公众平台接口测试账号申请页面。(2)在出现的页面中单击“登录”按钮即会跳转至图2-13左侧所示的微信二维码页面,使用手机微信扫一扫网页中的二维码,手机就会出现图2-13右侧所示的登录公众平台测试账号系统页面。图2-13 微信二维码页面及微信公众平台测试账号系统登录页面(3)单击“确认登录”按钮,网页端将会进入测试号管理页面。在该页面中将会提供测试号信息、接口配置信息与测试号二维码,包括AppID和AppSecret的测试号信息。除此以外,还需要填写接口配置信息,包括微信账号连接的URL网址和Token令牌号。Token是指任意字符串,该字符串必须与URL网页中的Token相同。若没有服务器,可以按照2.1.1小节中的步骤申请一个SAE免费空间。

输入完毕后,单击“提交”按钮。连接成功后,将看到图2-14所示的页面。图2-14所示的只是部分接口的截图,若要详细了解测试账号的接口权限,可申请一个测试账号进行体验。图2-14 测试账号接口权限表

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载