微信开放平台代公众号开发

     最近由于业务须要,跟咱们合做的客户不少都有本身的公众号或者但愿把用户掌握在本身的手里(本身申请公众号),他们没有开发能力,又想借助咱们的平台实现本身的业务,研究了一下微信开放平台,发现这是一个不错的选择。下面我就从代公众号实现业务这个场景来说解开放平台的开发流程:小程序

1、概述

公众平台第三方平台是为了让公众号或小程序运营者,在面向垂直行业需求时,能够一键受权给第三方平台(而且能够同时受权给多家第三方),经过第三方平台来完成业务,开放给全部经过开发者资质认证后的开发者使用。api

2、开发前的准备

一、首选你得在https://open.weixin.qq.com/开放平台申请一个帐号;缓存

二、申请完以后在“管理中心”-“第三方平台”建立一个第三方平台安全

三、按照说明填写对应的参数微信

登陆受权的发起也域名:这个用来给受权方受权给第三方平台的操做域名,填受权页面对应的域名app

受权测试公众号列表:全网发布以前用来测试的受权方公众号原始Id,在微信公众号平台“公众号设置”下面的“注册信息”栏目能够查看到。测试

受权事件接收URL:这个很关键,用来接收微信推送的component_verify_ticket,以及后续的受权相关通知(包括受权成功,取消受权,受权更新等等)url

后面的token和key是开放平台的参数,后续要用到的地方会说起。spa

消息与事件接收URL:代公众号处理消息和事件入口,好比用户在公众号发消息或者关注公众号等都会调用这个地址debug

注:以上的这些域名和地址都是同一个,能够理解为开放平台应用部署对应的域名。

下面还有一个关键的参数就是Ip白名单

切记,只有你的ip在这个白名单里面才能正常的收发消息。

3、受权流程技术说明

受权有两种方式,一种是在公众平台“开发”->基本配置->开放平台帐号那里去搜索开放平台进行绑定;另一种是在第三方开放平台提供的受权页面进行微信扫码绑定。大部分都是经过第二种方式绑定,这里就讲解一下第二中怎么实现的。

首先要准备一个受权页面,受权页面提供一个url连接给受权方点击,相似这样的:

<a href="https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=${componentAppid}&pre_auth_code=${preAuthCode}&redirect_uri=${redirectUri}&auth_type=1">登陆受权</a>

效果如右图所示: ,受权方点击这个登陆受权按钮会出现一个扫码受权页面。

微信扫码会自动读取你这个微信绑定的公众号,点击受权便可完成受权操做。这里有几点注意一下:

一、开发平台开发阶段(未全网发布以前)须要提早在“ 受权测试公众号列表 ”填写要测试的受权公众号原始id,相似gh_开头的那一串字符串。

二、受权的时候要提供一个回调地址,上面提供的redirect_uri,受权方赞成受权以后会微信会回调这个地址,同时把auth_code返回给你, 在获得受权码后,第三方平台方可使用受权码换取受权公众号或小程序的接口调用凭据(authorizer_access_token,也简称为令牌),再经过该接口调用凭据,按照公众号开发者文档小程序开发文档的说明,去调用公众号或小程序相关API。 这里的authorizer_access_token就至关于你微信公众号开发里面用到的access_token。

三、pre_auth_code怎么获得? 第三方平台经过本身的接口调用凭据(component_access_token)来获取用于受权流程准备的预受权码(pre_auth_code) ;那么component_access_token怎么获得? 第三方平台经过本身的component_appid和component_appsecret(即在微信开放平台管理中心的第三方平台详情页中的AppID和AppSecret),以及component_verify_ticket(每10分钟推送一次的安全ticket)来获取本身的接口调用凭据(component_access_token);component_verify_ticket怎么获得?这个ticket在你的开放平台审核经过以后微信会自动推送到你在开放平台填写的事件接收URL,这样反推一波是否是很清晰了?

四、component_access_token是要缓存起来的, 第三方平台component_access_token是第三方平台的下文中接口的调用凭据,也叫作令牌(component_access_token)。每一个令牌是存在有效期(2小时)的,且令牌的调用不是无限制的,请第三方平台作好令牌的管理,在令牌快过时时(好比1小时50分)再进行刷新。 刷新就不必了,由于微信会每隔10分钟推送一次安全ticket,你能够根据ticket去获取component_access_token,这样就能够作到定时的去刷新component_access_token了

五、authorizer_access_token也是要缓存起来的, 受权方接口调用凭据(在受权的公众号或小程序具有API权限时,才有此返回值),也简称为令牌,这个也是2小时失效,在获得这个的同时也会获得一个 authorizer_refresh_token, 能够用它调用接口来得到新的 authorizer_access_token ,从而保证 authorizer_access_token 不过时。

受权流程完毕以后咱们就能够进入下一步代公众号实现业务了。

未完待续。。。

相关文章
相关标签/搜索