微信第三方平台开发经验总结(二):获取component_access_token
来源:互联网 发布:tensorflow视频百度云 编辑:程序博客网 时间:2024/05/21 15:00
获取component_access_token
第三方平台component_access_token是第三方平台的下文中接口的调用凭据,也叫做令牌(component_access_token)。每个令牌是存在有效期(2小时)的,且令牌的调用不是无限制的,请第三方平台做好令牌的管理,在令牌快过期时(比如1小时50分)再进行刷新。
接口调用请求说明
http请求方式: POST(请使用https协议)
https://api.weixin.qq.com/cgi-bin/component/api_component_token
POST数据示例:
{
"component_appid":"appid_value" ,
"component_appsecret": "appsecret_value",
"component_verify_ticket": "ticket_value"
}
这部分就简单一点
- 判断token未过期直接返回(不要频繁的请求token,微信有请求次数限制)
- 判断ticket是否存在或过期
- 拼装json
- 发送Https请求并获取结果
- 解析结果并保存token
注意点基本没有
@Override
public String getComponentAccessToken() {
String componentAccessToken = ComponentInfo.getComponentAccessToken();
/**判断数据库中是否存在component_access_token*/
if(!componentAccessToken.isEmpty()){
/**如果存在,直接返回token的值*/
return componentAccessToken;
}
/**ticket若不存在,返回错误信息*/
if(ComponentInfo.componentVerifyTicket.isEmpty()){
/**错误信息*/
return "如果出现这条消息,说明ticket以及token的过期处理存在BUG";
}
/**拼装待发送的Json*/
JSONObject json = new JSONObject();
json.accumulate("component_appid",ThirdPartyConfig.APP_ID);
json.accumulate("component_appsecret",ThirdPartyConfig.APP_SECRET);
json.accumulate("component_verify_ticket",ComponentInfo.componentVerifyTicket);
logger.info("ThirdPartyServiceImpl:getComponentAccessToken:json={}",json);
/**发送Https请求到微信*/
String retStr = HttpsUtil.postHtpps(ThirdPartyConfig.COMPONENT_TOKEN_URL,json.toString());
logger.info("ThirdPartyServiceImpl:getComponentAccessToken:retStr={}",retStr);
JSONObject resultJson = JSONObject.fromObject(retStr);
/**在返回结果中获取token*/
componentAccessToken = resultJson.getString("component_access_token");
/**保存token,并设置有效时间*/
ComponentInfo.setComponentAccessToken(componentAccessToken);
return componentAccessToken;
}
大概这种感觉就好了,这一步可以单独做,测试比较方便
实际使用的时候可以在其他API需要的时候再获取就好了
阅读全文
1 0
- 微信第三方平台开发经验总结(二):获取component_access_token
- 微信第三方平台开发授权2:获取component_access_token,pre_auth_code
- 微信第三方平台开发经验总结(三):获取pre_auth_code
- java微信第三方平台开发(二)
- 微信第三方平台开发经验总结(一):接收component_verify_ticket
- 微信第三方平台开发经验总结(四):重定向到授权页
- 微信第三方平台开发经验总结(七):发送客服消息
- 微信第三方平台开发经验总结(五):接收授权方授权请求并保存授权方信息
- 微信第三方平台开发经验总结(六):接收微信用户发送的事件以及消息
- 微信公众号三方平台开发【component_access_token篇】
- 微信第三方平台开发授权1:获取component_verify_ticket
- 微信第三方平台开发二(代公众号调用接口)
- 微信开放平台第三方登录(二)
- 微信开放平台 公众号第三方平台开发 教程二 创建公众号第三方平台
- 微信第三方平台开发流程
- 微信公众平台开发(72)第三方接口
- 微信公众平台开发(72)第三方接口
- 微信第三方平台开发一(创建组件)
- 右下角返回顶部按钮
- java数据结构与算法-队列
- 839D(容斥 || 莫比乌斯反演)
- 驱动开发,把这些年的成果都整理发上来
- hpuvj【3070】Fibonacci(矩阵快速幂求模)
- 微信第三方平台开发经验总结(二):获取component_access_token
- DCGAN生成手写体数据
- zabbix批量监控端口和进程(通过宏变量)
- I2C知识总结
- java 实现利用 RabbitMQ 发送和消费消息
- oracle 11g安装过程中问题:找不到WFMLRSVCApp.ear
- IT从业人员 常用的一些网站
- css selector定位元素
- 页面优化有哪些方法