微信开放平台开发(一)

  • 来源:新网
  • 更新日期:2018-03-21

摘要:使用背景 我们的客户都有一个公众号,每个公众号对应的都有用户,但我们的业务是想让这些不同公众号下相同的用户关联起来。所以就选择了微信开放开台。确切地说,是微信开放平台里面的第三方平台(应用的名称就叫“第三方平台”)功能,可以让授权给多个公众号(暂时不知有没有上限,发邮件问了官方也没有人回),从而获取unionid来保持用户统一。 寻找资料 不得不说,微信开放平台的资料很不系统,我一上手就只有一个感

使用背景

我们的客户都有一个公众号,每个公众号对应的都有用户,但我们的业务是想让这些不同公众号下相同的用户关联起来。所以就选择了微信开放开台。确切地说,是微信开放平台里面的第三方平台(应用的名称就叫“第三方平台”)功能,可以让授权给多个公众号(暂时不知有没有上限,发邮件问了官方也没有人回),从而获取unionid来保持用户统一。

t01dbe3f3393847de81.jpg

寻找资料

不得不说,微信开放平台的资料很不系统,我一上手就只有一个感觉“这什么玩意啊”,开发流程或步骤也不清晰,要不是之前搞过微信公众平台,绝对是一头雾水。好在有互联网环境,我在实现开放平台的部分功能时大部分参考了这个csdn博客,在此必须多谢一下。感到痛心的是微信开放平台里面没有一个提工单的入口,有问题只能去网上找,打腾讯客服?哎。

注册账号

要使用公众号授权功能,需要创建“第三方平台”应用,总的流程分为四大步

注册账号 开发者资质认证(需填写公司信息) 创建应用(如第三方平台) 审核

前两步(注册账号与开发者资质认证)需要你的领导去完成。需要重点说明的是,个人无法完成开发者资质认证,因为需要填写企业信息。

创建第三方平台

创建第三方平台后就可以进行开发了,创建有四个步骤,(第四步是审核),截图比较大,文章最后会给出三个步骤的截图。

输入基本信息【平台名称、业务标签、平台简介、官方网站、平台图标】 选择权限【公众号权限或小程序权限】 填写开发资料【配置开发资料:授权发起页域名、授权测试公众号列表、授权事件接收、消息Token、消息加解密Key、消息与事件接收URL、公众号开发域名、校验文件、白名单IP地址列表】 等待审核

其中重要的是第三步,如下将逐渐说明:

授权发起页域名,想让用户点击微信授权按钮时显示一个二维码让用户扫。这个按钮所在页面的域名就是授权发起页域名。 授权测试公众号列表,在第三方平台未进行全网发布之前时只有该列表内的公众号可以进行授权,此处填空的是公众号的原始ID(可在微信公众开台 -> 设置 -> 公众号设置 -> 注册信息下页面看到)。 授权事件接收URL,该URL共有两个作用:1. 授权成功通知、取消授权通知、授权更新通知;2. 接收component_verify_ticket,该名词将在之后加以说明。 消息校验Token,用于校验及加解密微信发过来的消息。 消息加解密Key,同上,但长度必须是43位。 消息与事件接收URL,微信用户与公众号的交互(如发一段文本或一个图片)都会被发送到该URL,要注意一点的是,微信全网发布也是往这个URL上发送请求。 公众号开发域名,第三方平台在代公众号做网页授权、调用JSSDK等网页开发工作时所用的域名,要注意下载校验文件,并能通过“域名/校验文件名”访问到。(遗憾的是,我使用花生壳来配置此处校验文件,在浏览器地址栏能访问到,但微信死活不让通过)。 白名单,把家里的公网ip、公司的公网ip、测试服务器(如阿里云ip),尽量能多添加几个。

下一篇我们讲编码,接着我们解释一下部分名词:

第三方应用:是指我们在微信开放平台下创建的应用之一,总共可以创建移动应用、网站应用、公众帐号、小程序、第三方平台。 appID/appSecret:应用对应的参数,appSecret需要应用审核成功后才能查看。 component_verify_ticket:这个参数由微信每10分钟发到授权事件接收URL上(应用需审核成功)。 component_access_token:称为令牌,它是第三方平台的接口的调用凭据。这个参数由appID、appSecret、component_verify_ticket共同获得。需要注意的是,component_access_token的过期时间是7200s(即2小时),需要在快过期的时候刷新一下,微信公众号下的access_token的过期时间也是7200s,但获取access_token的次数被限制在了2000次/天,开放平台应该也是类似,可是文档上没有直接说明^_^|||。 pre_auth_code:称为预授权码,它是用于公众号或小程序授权时的第三方平台方安全验证。简单的说,当你想让一个公众号授权时就得获取一个新的预授权码。

先这几个名词吧,以后再添加。

可能有的人会意识到不能到本地调试将是件多少难受的事。的确,我一开始就是把代码改一次放到阿里云一次,后来试了用下花生壳域名,其实是可以完成“授权事件接收URL”这个功能的,开发时只需要将“授权发起页域名”、“授权事件接收URL”、“消息与事件接收URL”改为花生壳映射的域名即可,对,不用管“公众号开发域名”这一项,我改了这三项后发现能在本地调试接口,心情十分激动啊。

最后要说明的是,该系统博客只是为了把自己在微信开放平台中第三方平台的开发过程中的坑列举出来,给后来者一个引导。微信开放平台官方文档还是得多看几遍的,尽管讲得有点乱,但还是得等