php微信接口token下载,PHP调用微信接口每两小时获取一次token的方法

通过微信浏览的手机页面,如果想实现微信自带的一些功能的话,比如扫一扫,是需要一些前提条件的。

1、一个认证的公众号,不管是订阅号还是服务号,前提都是要验证。

2、通过后台获取到appid和appsecret两个ID,获取 tonken和ticket,然后通过 ticket、noncestr、time_str(时间戳)、url四个参数相加,然后sha1加密一下,配置到wx.config即可。

tonken的获取次数是有限制的,好像是2000次每天,并且tonken有效期只有两个小时,所以就注定你要不停的调用,但是又不能调用太多次。。腾讯就是这么变态。

这里通过php代码,实现了每6000秒调用一次微信的tonken接口,每天84600秒,总共每天调用 84600/6000 约等于每天15次吧。

定义一个函数,用于每次去获取参数:

/**

* 重新刷新token

* @return string

*/

function reflash(){

//

$url1 = 'https://api.weixin.qq.com/cgi-bin/token?appid={替换你自己的APPID}&secret={替换你自己的SECRET}&grant_type=client_credential';

$str1 = file_get_contents($url1);

$str1_json = json_decode($str1);

$access_token = $str1_json->access_token;

$url2 = 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=' . $access_token . '';

$str2 = file_get_contents($url2);

$str2_json = json_decode($str2);

$ticket = $str2_json->ticket;

///

$noncestr = '{这个参数是你自己定义的,越乱越好,随便写}';

$time_str = time(); //当前时间

//

$url = 'http://{你自己的URL地址,这个URL要在微信公众号后台中添加的JS安全域中。}/';

///

$sgin_array = array(

'ticket' => $ticket,

'noncestr' => $noncestr,

'time_str' => $time_str,

'url' => $url

);

file_put_contents('/home/wwwroot/default/config.txt', json_encode($sgin_array)); //我这里以文件的形式存放到服务器的本地路径以供读取

return $sgin_array;

}

通过读取config.txt文件,每6000秒判断一次。

if (is_file('/home/wwwroot/default/config.txt')) {

$config_html = file_get_contents('/home/wwwroot/default/config.txt');

$configs = json_decode($config_html, true);

$check_time = $configs['time_str'];

if (time() - $check_time > 6000) {

$configs = reflash();

}

$sign_str = 'jsapi_ticket=' . $configs['ticket'] . '&noncestr=' . $configs['noncestr'] .

'&timestamp=' . $configs['time_str'] . '&url=' . $configs['url'] . '';

} else {

$configs = reflash();

$sign_str = 'jsapi_ticket=' . $configs['ticket'] . '&noncestr=' . $configs['noncestr'] .

'&timestamp=' . $configs['time_str'] . '&url=' . $configs['url'] . '';

}

wx.config配置:

wx.config({

debug: false,

appId: '{替换你自己的APPID}',

timestamp: '<?php echo $configs['time_str']; ?>',

nonceStr: '<?php echo $configs['noncestr']; ?>',

signature: '<?php echo sha1($sign_str); ?>',

jsApiList: [

'checkJsApi',

'onMenuShareTimeline',

'onMenuShareAppMessage',

'onMenuShareQQ',

'onMenuShareWeibo',

]

});

关键代码就这么多了,没什么高深的东西。给菜鸟准备的,需要的时候直接拿去用吧。。

参数资料:

微信公众账号开发入门 - snandy - 博客园

http://www.cnblogs.com/snandy/archive/2015/10/21/4892122.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值