微信公众号开发
时间: 作者:谢非
微信公众号的类别
- 订阅号:订阅号主要为用户提供信息和资讯,侧重点是提供信息。每天可推送1条消息。
- 服务号:服务号主要为用户提供服务,提供与用户的交互。每月可推送4条消息。
微信公众号开发的分类
- 微信内API调用。使用微信的API,提供聊天窗菜单定制,消息管理,用户管理等功能。
- 外部H5开发。
微信内API调用
不同类型的公众号有不同的API使用频率,
请参阅文档:https://mp.weixin.qq.com/wiki/7/85eff372c164ddc66c47777dc972279f.html
API类别
- 自定义菜单
注意事项:
自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“…”代替。
创建自定义菜单后,菜单的刷新策略是,在用户进入公众号会话页,如果发现上一次拉取菜单的请求在5分钟以前,就会拉取一下菜单,如果菜单有更新,就会刷新客户端的。测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。
API操作:创建删除查询自定义菜单。 消息管理
接收普通消息:文本消息 图片消息 语音消息 视频消息
接收事件推送:关注/取消关注事件 扫描带参数二维码事件 上报地理位置事件
自定义菜单事件:点击菜单拉取消息时的事件推送 点击菜单跳转链接时的事件推送
被动回复消息:文本消息 图片消息 语音消息 视频消息 回复音乐消息
客服接口:客服帐号管理 添加客服帐号(每个公众号最多添加10个客服账号) 修改客服帐号删除客服帐号 设置客服帐号的头像(jpg格式,大小640*640) 获取所有客服账号
客服接口-发消息:文本消息 图片消息 语音消息 视频消息 回复音乐消息 发送卡券高级群发接口:文本消息 图片消息 语音消息 视频消息 回复音乐消息 发送卡券
- 模板消息:仅用于公众号向用户发送重要的服务通知 如信用卡刷卡通知,商品购买 获取模板列表 删除模板 设置所属行业 获取设置的行业信息 发送模板消息 获取自动回复复配置信息
网页授权获取用户基本信息 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
配置域名
1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的开发者中心页配置授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加http:// 等协议头。
2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面
http://www.qq.com/music.html、http://www.qq.com/login.html 。
3、如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网页授权即可。两种授权方式:
1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动> 跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同>> 意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。
3、用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才>> 能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了> 公众号后,才能调用成功的。
snsapi_userinfo,也是静默授权,用户无感知。在第三方页面获取用户信息:
第一步:用户同意授权,获取code
第二步:通过code换取网页授权access_token
第三步:刷新access_token(如果需要)
第四步:拉取用户信息(需scope为 snsapi_userinfo)素材管理
注意事项:临时素材媒体文件在后台保存时间为3天 ,
图片(image): 2M,支持bmp/png/jpeg/jpg/gif格式
语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式
视频(video):10MB,支持MP4格式
缩略图(thumb):64KB,支持JPG格式
永久素材图文消息素材和图片素材的上限为5000,其他类型为1000
API操作:新增临时素材、获取临时素材、新增永久图文素材、获取永久素材、删除永久素材、获取素材总数 、获取素材列表。用户管理
API操作:用户分组管理、创建分组、查询所有分组、查询用户所在分组、修改分组名、移动用户分组、 批量移动用户分组、删除分组、设置备注名、获取用户基本信息、批量获取用户基本信息、获取用户地理位置 。帐号管理
API操作:生成带参数的二维码,长链接转短链接接口,微信认证事件。
外部H5开发
微信网页开发样式库 http://weui.github.io/weui/#/
微信JS-SDK说明文档 http://res.wx.qq.com/open/js/jweixin-1.0.0.js
微信web开发者工具 https://mp.weixin.qq.com/debug/cgi-bin/webdebugger/download?from=mpwiki&os=x64