微信网页开发,获取access_token并设置定时刷新,PHP

原理:用微信公众号文档的教程获取access_token,编写php脚本,定时刷新,并将值存入数据库,需要用的话就直接从数据库下载,不必再次获取access_token的值。

直接上代码

第一段代码,根据微信公众号提供的教程,获取access_token的值。

<?php
$token_access_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=此处为你的APPID&secret=此处为你的APP密码";
$res = file_get_contents($token_access_url);
$result = json_decode($res, true); //接受一个 JSON 格式的字符串并且把它转换为 PHP 变量
$access_token = $result['access_token'];
// echo $access_token;
?>

第二段代码。将值存入数据库并定时刷新

<?php
header("Content-type:text/html;charset=utf-8");
$time=1.8*60*60;//此处设置刷新时间,我设置的是1.8小时,因为设置两小时的话可能会有延迟,导致业务无法进行,尽管微信公众号规定到期后五分钟,新旧access_token都可以使用
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];//当前文件的url
include_once 'access_token_yuanshishuju.php';//此处插入第一段获取access_token的php文件
include_once 'coom.php';//此处插入mysql连接设置文件
mysqli_query($conn , "set names utf8");
$sql = "UPDATE 表名
        SET 字段名= '$access_token'
        WHERE id=1";
mysqli_select_db( $conn, '数据库名' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
  die('无法更新数据: ' . mysqli_error($conn));
}
echo "数据更新成功\n";
mysqli_close($conn);//access_token的值存入数据库
sleep($time);
file_get_contents($url);//此处设置定时刷新,需打开一次该文件,打开后会一直显示刷新状态,然后关闭就行了 ,会一直自己运行,修改本文件后需再一次打开本文件,保证一直刷新
?>

第三段代码,从数据库获取access_token的值

<?php 
include_once 'coom.php';//数据库连接设置
mysqli_query($conn , "set names utf8");
$sql = 'SELECT 字段名
        FROM 表名
        where id = 1';
mysqli_select_db( $conn, '数据库名' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
  die('无法查询数据: ' . mysqli_error($conn));
}
$row = mysqli_fetch_array($retval, MYSQL_ASSOC);
$access_token = $row['access_token'];//获取该值
mysqli_close($conn);
// echo $access_token;
?>

有不明白的,可以留言,大家一起进步。

这种PHP定时任务的方法不好用,请移步后更新的windows系统定时任务方法

点击进入

PHP,window系统定时任务,解决PHP文件定时执行问题

或者复制链接进入

https://blog.csdn.net/weixin_41797287/article/details/80346013

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值