
根据微信文档,建议定时刷新access_token,逻辑服务器去取这个access_token,从而保证access_token调用不超过限制,并且总是有效。
$ make install $ _rel/wt/bin/wt start $ mkdir wechat-token $ tar zxf linux-amd64.tar.gz -C wechat-token $ cd wechat-token $ ./bin/wt start $ redis-cli 127.0.0.1:6379> HMGET access_token value expire_time 1) "Z47I_cG9bgNm6Z44rStZd3nO6G5-c0kpBpJGdHoCfaf3Ct8R4WkuVy79FvkOgXr2CYTniDFLsmincjGtfEF7JQZU4y3ZCPDnjMmVMWLTStg" 2) "1433506616" 127.0.0.1:6379> HMGET jsapi_ticket value expire_time 1) "sM4AOVdWfPE4DxkXGEs8VCdT_ZNcLoZWDBSBEduHE1WNupuOm2yNNmmRimx8u7lQCuD_5QpQhVSNNQ0vbRdoZw" 2) "1433506616" 项目地址: https://github.com/goofansu/wechat-token
欢迎star, fork和pull request
这个项目本身没难度,就是为了省去维护access_token的步骤。你的应用在调用微信api时,只需要从redis中读取access_token就行了。
接下来考虑提供一个docker的镜像,做到传入appid和secret就能使用服务。
说到docker就有一个问题:在阿里云上根据docker的官方文档安装docker,docker -d报错Could not find a free IP address range for interface 'docker0',这个问题有同学遇到过吗?
1 cevincheung 2015-06-06 05:45:48 +08:00 为啥一个小daemon就可以解决的问题非得要搞这么复杂……- -# |
2 goofansu OP |
3 ETiV 2015-06-06 06:40:26 +08:00 via iPhone 我大nodejs写个setInterval 就搞定了 |
4 cevincheung 2015-06-06 06:43:30 +08:00 |
5 deben 2015-06-06 07:08:57 +08:00 via Android 随时用随时从数据库里面读出来,发现过期再请求一个并存入数据库,难道大家不这样做? |
9 Dongdong36 2015-06-06 09:56:45 +08:00 文档说有效时间是7200s左右,所以每隔(7200 - 10)刷新一次access_token就可以了 |
10 goofansu OP @Dongdong36 对,我给的那个链接里建议1小时,所以我就定了1小时 |
11 Culm 2015-06-07 19:12:17 +08:00 看到必要条件,整个人都斯巴达了 |
12 herold519 2015-06-09 10:53:00 +08:00 过度设计了。。 |