微信公众号三方平台开发之component_access_token篇

袁小威 2018-10-19 359人围观
简介在获得component_verify_ticket(上期已介绍如何获取)和component_access_token(本期后面将介绍如何获取)后,我们就会开始进入正式的授权流程。

       今天开始前,补充一点之前忘了说的事儿——第三方平台授权流程。

        在获得component_verify_ticket(上期已介绍如何获取)和component_access_token(本期后面将介绍如何获取)后,我们就会开始进入正式的授权流程了,具体流程大致如下:

    1. 获取预授权码(pre_auth_code):预授权码是第三方平台实现公众号授权托管的必备信息;

    2. 进入授权页:我们可以在自己的网站中设置“微信公众号授权”入口,引导微信公众号管理员进入授权页(授权页地址包含第三方平台的appid、预授权码以及回调URL等参数,如:https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=xxxx&pre_auth_code=xxxxx&redirect_uri=xxxx);

    3. 微信公众号管理员确认并同意登录授权:微信公众号管理员进入第三方平台授权页后,需要确认并同意将自己的微信公众号授权给第三方平台,从而完成授权流程(授权完成后,授权页会自动跳转到回调URL,并将授权码和过期时间加在回调URL的参数中,如:redirect_url?auth_code=xxx&expires_in=600);

    4. 利用授权码调用微信公众号相关API:得到授权码后,我们可以使用授权码来获取授权微信公众号的接口调用凭据(authorizer_access_token,简称令牌),之后,我们就可以通过这个接口调用凭据去调用微信公众号相关API,从而代微信公众号实现其业务(我们能够调用到哪些API,取决于微信公众号管理员给我们授权了哪些权限集,当然也还取决于微信公众号自身所拥有哪些权限)。

        Ok!下面进入今天的正题,如何获取第三方平台component_access_token(第三方平台compoment_access_token是第三方平台授权流程中接口的调用凭据,简称令牌。每个令牌都存在有效期(2小时),并且是有限制的,所以这里我们需要好令牌的管理,在令牌快过期时(比如1小时55分)再次进行刷新请求获取新的令牌。)。

        在我们获取到微信服务器推送过来的component_verify_ticket后,需要将其作为参数,向微信服务器发送请求来获取component_access_token。

        接口调用请求说明

        http请求方式: POST(请使用https协议)  
        https://api.weixin.qq.com/cgi-bin/component/api_component_token

        POST数据示例:

        

        参数说明

        component_appid和component_appsecret在第三方平台详情页进行查看。

        返回说明

        正常情况,微信会返回如下json数据包:
        

        结果参数说明
        具体程序实现: