您的位置:首页 > 其它

需要事先使用 ApiConfigKit.setThreadLocalApiConfig(apiConfig) 将 ApiConfig对象存入,才可以调用 ApiConfigKit.getApiConf

2016-05-06 13:47 453 查看
这几天一直在搞微信开发,开发测试的时候一直用的开发者测试账号,获取access_token用户授权一直用的JFinal,也没有什么问题。由于要开发微信支付必须找一个有微信支付权限的公众号进行测试,所以我更改了对应的appKey和appSecret--当再测试以前的授权功能时报如下错误:

Caused by: java.lang.IllegalStateException: 需要事先使用 ApiConfigKit.setThreadLocalApiConfig(apiConfig) 将 ApiConfig对象存入,才可以调用 ApiConfigKit.getApiConfig() 方法
at com.jfinal.weixin.sdk.api.ApiConfigKit.getApiConfig(ApiConfigKit.java:39)
at com.jfinal.weixin.sdk.api.AccessTokenApi.refreshAccessToken(AccessTokenApi.java:59)
at com.jfinal.weixin.sdk.api.ApiResult.refreshAccessTokenIfInvalid(ApiResult.java:68)
at com.jfinal.weixin.sdk.api.ApiResult.<init>(ApiResult.java:46)
... 50 more


<span style="font-family:SimHei;font-size:18px;">搜索到<a target=_blank href="http://www.07net01.com/2015/05/842051.html" target="_blank">下面</a>的文章,说是本地测试引起的,真实环境没有问题【确实以前的功能部署到阿里云上是没有问题的】,为了测试功能就索性在需要授权调用前做如下操作问题解决</span>


ApiConfig config = new ApiConfig("token","appkey","appsecret");
ApiConfigKit.setThreadLocalApiConfig(config);
SnsAccessToken snsAccessToken = SnsAccessTokenApi.getSnsAccessToken(useValue.AppId, useValue.AppSecret, code);
ApiResult apiResult = SnsApi.getUserInfo(snsAccessToken.getAccessToken(), snsAccessToken.getOpenid());



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: