<!doctype html> <html> <head> <meta charset="utf-8"> <title>活动会议签到</title> </head> <body> <?php function curlPost($url,$data=""){ $ch = curl_init(); $opt = array( CURLOPT_URL => $url, CURLOPT_HEADER => 0, CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $data, CURLOPT_RETURNTRANSFER => 1, CURLOPT_TIMEOUT => 20 ); $ssl = substr($url,0,8) == "https://" ? TRUE : FALSE; if ($ssl){ $opt[CURLOPT_SSL_VERIFYHOST] = 2; $opt[CURLOPT_SSL_VERIFYPEER] = FALSE; //FALSE返回对象,TRUE返回数组 } curl_setopt_array($ch,$opt); $data = curl_exec($ch); curl_close($ch); return $data; } function accessToken() { $tokenFile = "./access_token.txt"; $data = json_decode(file_get_contents($tokenFile)); if ($data->expire_time < time() or !$data->expire_time){ $appid = "替换成你的appid"; $appsecret = "替换成你的appid"; $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret"; $res = getJson($url); $access_token = $res['access_token']; if($access_token) { $data_new['expire_time'] = time() + 7000; $data_new['access_token'] = $access_token; $fp = fopen($tokenFile, "w"); fwrite($fp, json_encode($data_new)); fclose($fp); } } else { $access_token = $data->access_token; } return $access_token; } function getJson($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch); curl_close($ch); return json_decode($output,TRUE); //返回数组式json } $ACCESS_TOKEN=accessToken(); $Url="https://api.weixin.qq.com/shakearound/user/getshakeinfo?access_token=$ACCESS_TOKEN"; $ticket=$_GET["ticket"]; $data='{"ticket":"'.$ticket.'","need_poi":0}'; $res = curlPost($Url,$data); $openid=json_decode($res)->data->openid; $fl=$_GET["fl"]; $url = "替换成你的网址/qd.asp?fl=". $fl ."&wxid=".$openid; echo "<script language='javascript' type='text/javascript'>"; echo "window.location.href='$url'"; echo "</script>"; ?> </body> </html>
相关推荐
如何合理的使用微信接口凭证access_token
代码是用asp独立完成编写的,已成功运用在微信活动项目中,编写过程中搜不到具体的案例...之前放出过一个版本,较之前的版本,这次新增了缓存access_token到数据库的功能,避免在获取用户信息时重复获取access_token
运用于实际项目中,完善后可将获取到的全局access_token缓存到数据库并判断是否需要更新,再获取用户头像、昵称、是否关注等等信息,可解决access_token重复获取的问题
代码实现将获取到的全局access_token缓存到数据库并判断是否需要重新获取,以解决access_token重复获取超过2000次上限的问题出现。而后再用access_token获取昵称、头像、是否关注等用户信息并存于cookies中
主要为大家详细介绍了.Net微信开发之如何解决access_token过期问题的方法,感兴趣的小伙伴们可以参考一下
注意,如果模板消息发信息时有时无,不稳定,可能你的access_token令牌更新缓存不及时,过期了.可以根据日志文件查看.建议300秒更新一下.否则会很烦. 模板id需要自己去公众号中设置行业后得到. <?php //使用方法....
主要介绍了C#微信公众平台开发之access_token的获取存储与更新的相关资料,需要的朋友可以参考下
微信上下文还包含了微信的access_token、appID、appSecret、encodingAESKey这些微信公众号的配置内容。微信上下文还保存微信方法与消息注解的策略对应关系,是微信消息能够得到处理的最重要的部分。微信上下文通过@...
因为调用所有公众号的接口都需要用到access_token,所以必须先将access_token缓存起来,方便以后使用,access_token的有效时间为2小时,所以需要定时更新,下面是代码实现。 有一点需要注意,本文会提到两个access_...
然后,发起GET请求,请求到微信服务器获取返回access_token结果,在将其转为JSONObject对象,即可根据key获取到他的value值。 这样既能获取的到access_token,也能获取他的有效时间。 然后再根据这个过期时间,我们...
本系统用于公众号开发时中央授权使用,缓存整个公众号的access_token,jspai等关键数据。因为微信限制每天获取access_token的接口调用次数为2000,所以第三方需自己缓存这个。本系统为maven项目,集成了spring-mvc,...
function wx_get_token() { $token = S('access_token'); if (!$token) { $res = file_get_contents('https://api.weixin.qq.com/cgi-bin/token?grant... $res = json_decode($res, true); $token = $res['access_...
微信代理 :用于全局缓存微信 access_token 和转发微信回调消息的服务器程序,自动缓存微信的 access_token 并将微信回调消息转发至多个后台服务器
获取accesstoken、获取jsapi_ticket、配置jssdk、调用扫一扫。里面写了一个类、参数配置好直接调用就行。包括全局缓存,定时获取accesstoken和jsapi_ticket
用php进行微信开发时,碰到access_token长久保存的问题,以前都是用框架里的Cache直接set、get一下就完了。现在没框架可用了,只好自己动手写一个cache暂时用。 这个Cache类用来缓存一些具有时效性的数据,比如微信...
java版--微信jssdk 授权config接口注入权限验证配置的参数获取+全局缓存access_token和jsapi_ticket
WeChatDeveloper 针对 access_token 失效增加了自动刷新机制; 微信的部分接口需要缓存数据在本地,因此对目录需要有写权限; 我们鼓励大家使用 composer 来管理您的第三方库,方便后期更新操作; ...
weixin-device weixin-device是对微信硬件的api接口封装库 ###安装 npm install weixin-device ###引入模块 导入 weixin-device模块有4种方法 直接导入 直接导入调用接口时需要...weixin-device 会缓存此 access_token
目前 WeChatDeveloper 针对 access_token 失效增加了自动刷新机制; 微信的部分接口需要缓存数据在本地,因此配置目录并需要对目录有写权限; 我们鼓励大家使用 composer 来管理您的第三方库,方便后期更新操作; ...