微信公众号开发

时间: 作者:谢非

微信公众号的类别

  1. 订阅号:订阅号主要为用户提供信息和资讯,侧重点是提供信息。每天可推送1条消息。
  2. 服务号:服务号主要为用户提供服务,提供与用户的交互。每月可推送4条消息。

微信公众号开发的分类

  1. 微信内API调用。使用微信的API,提供聊天窗菜单定制,消息管理,用户管理等功能。
  2. 外部H5开发。

微信内API调用

不同类型的公众号有不同的API使用频率,
请参阅文档:https://mp.weixin.qq.com/wiki/7/85eff372c164ddc66c47777dc972279f.html

API类别

  1. 自定义菜单
    注意事项:
    自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单。一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以“…”代替。
    创建自定义菜单后,菜单的刷新策略是,在用户进入公众号会话页,如果发现上一次拉取菜单的请求在5分钟以前,就会拉取一下菜单,如果菜单有更新,就会刷新客户端的。测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果。
    API操作:创建删除查询自定义菜单。
  2. 消息管理
    接收普通消息:文本消息 图片消息 语音消息 视频消息
    接收事件推送:关注/取消关注事件 扫描带参数二维码事件 上报地理位置事件
    自定义菜单事件:点击菜单拉取消息时的事件推送 点击菜单跳转链接时的事件推送
    被动回复消息:文本消息 图片消息 语音消息 视频消息 回复音乐消息
    客服接口:客服帐号管理 添加客服帐号(每个公众号最多添加10个客服账号) 修改客服帐号删除客服帐号 设置客服帐号的头像(jpg格式,大小640*640) 获取所有客服账号
    客服接口-发消息:文本消息 图片消息 语音消息 视频消息 回复音乐消息 发送卡券

  3. 高级群发接口:文本消息 图片消息 语音消息 视频消息 回复音乐消息 发送卡券

  4. 模板消息:仅用于公众号向用户发送重要的服务通知 如信用卡刷卡通知,商品购买 获取模板列表 删除模板 设置所属行业 获取设置的行业信息 发送模板消息 获取自动回复复配置信息
  5. 网页授权获取用户基本信息 如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。

    配置域名
    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)

  6. 素材管理
    注意事项:临时素材媒体文件在后台保存时间为3天 ,
    图片(image): 2M,支持bmp/png/jpeg/jpg/gif格式
    语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式
    视频(video):10MB,支持MP4格式
    缩略图(thumb):64KB,支持JPG格式
    永久素材图文消息素材和图片素材的上限为5000,其他类型为1000
    API操作:新增临时素材、获取临时素材、新增永久图文素材、获取永久素材、删除永久素材、获取素材总数 、获取素材列表。

  7. 用户管理
    API操作:用户分组管理、创建分组、查询所有分组、查询用户所在分组、修改分组名、移动用户分组、 批量移动用户分组、删除分组、设置备注名、获取用户基本信息、批量获取用户基本信息、获取用户地理位置 。

  8. 帐号管理
    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