微信公众号开发

fastadmin微信小程序获取access_token

本文主要是介绍fastadmin微信小程序获取access_token,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

本文旨在利用fastadmin中微信管理插件获取微信小程序access_token

1.微信管理插件中配置:app_id和appsecret

//获取微信配置
$config    = get_addon_config('wechat');
$appId     =  $config['app_id'];
$appSecret =  $config['appsecret'];

2. 设置access_token保存路径

//access_token文件保存路径

$token_file = ROOT_PATH . 'public' .DS. 'access_token';

3. 考虑过期问题,将获取的access_token存储到某个文件中, 不用重复请求

$life_time = 7200;

if (file_exists($token_file) && time()-filemtime($token_file)<$life_time) {
        // 存在有效的access_token
        return file_get_contents($token_file);
}

4. 发送请求,目标url可以小程序api文档中查找

// 目标URL:
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appId."&secret=".$appSecret;

//向该URL,发送GET请求
 
$result =Http::sendRequest($url);

Http::sendRequest 是使用fastadmin中的http工具, 可以修改为自己的curl请求工具

5.返回access_token

if (!$result['ret']) {
     return false;
}

 // 存在返回响应结果

 $result_obj = json_decode($result['msg']);

 // 写入

file_put_contents($token_file, $result_obj->access_token);

return $result_obj->access_token;

以上是保存access_token在本地, 可以在7200秒内,不用重复请求, 代码示例供参考, 供大佬们指教

完整代码:

 /**
     * @return 小程序获取 access_token
     * 
     */
    public function get_access_token() {
        //access_token文件保存路径
        $token_file = ROOT_PATH . 'public' .DS. 'access_token';

        #获取系统配置
        $config = get_addon_config('wechat');
        $appId =  $config['app_id'];
        $appSecret =  $config['appsecret'];
        // 考虑过期问题,将获取的access_token存储到某个文件中
        $life_time = 7200;
        if (file_exists($token_file) && time()-filemtime($token_file)<$life_time) {
            // 存在有效的access_token
            return file_get_contents($token_file);
        }
        // 目标URL:
        $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appId."&secret=".$appSecret;
        //向该URL,发送GET请求
        $result =Http::sendRequest($url);

        if (!$result['ret']) {
            return false;
        }
        // 存在返回响应结果
        $result_obj = json_decode($result['msg']);
        // 写入
         file_put_contents($token_file, $result_obj->access_token);
        return $result_obj->access_token;
    }

 

这篇关于fastadmin微信小程序获取access_token的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!