<?php
/**
* User: Eden
* Date: 2019/3/21
* 共有内容
*/
namespace Common\Service;
use Vendor\Func\Http;
class AccessTokenService extends CommonService
{
public function __construct()
{
parent::__construct();
}
/**
* 获取access_token
* 小程序的appid,secret
* 或者
* 公众号的appid,secret 公众号获取access_token需要配置ip白名单
*/
public function get_access_token($app_id, $app_secret)
{
// 查询缓存中是否存在
$key = "access_token_" . $app_id;
$ttl = $this->red->ttl($key);
if ($ttl == -2) { // 不存在
// step1 获取
$request_url = "https://api.weixin.qq.com/cgi-bin/token?";
$request_url .= "grant_type=client_credential&appid=" . $app_id . "&secret=" . $app_secret;
$data = json_decode(Http::doGet($request_url, 5), true);
// step2 存储
$this->red->setex($key, $data['expires_in'] - 1000, $data['access_token']);
return $data['access_token'];
} else {
return $this->red->get($key);
}
}
}
获取微信公众号或小程序的access_token
原创
©著作权归作者所有:来自51CTO博客作者TBHacker的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:小程序获取用户信息
下一篇:小程序绑定enter事件

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java 正则 捕获组如何替换
在开发中会遇到一些代码优化和改动,并且这些改动涉及到整个文件或整个项目,简单点的替换还好,如果遇到一行代码中要替换部分内容,另外部分内容还需要保留原来代码这种情况就费时费力了,这个问题也是困扰我挺久的,所以静下心来查阅了一下正则的相关资料,得到用捕获组合和替换模式可以轻松解决。以下是官方文档的例子和说明: &nbs
java 正则 捕获组如何替换 正则表达式 visual studio 默认值 字符串