public function get_access_token()
{
$token = false;
if ($this->get_access_token_diy !== false) {
// 调用用户自定义获取AccessToken方法
$token = call_user_func($this->get_access_token_diy);
if ($token) {
$token = json_decode($token);
}
} else {
// 异常处理: 获取access_token方法未定义
@error_log('Not set get_tokenDiy method, AccessToken will be refreshed each time.', 0);
}
// 验证AccessToken是否有效
if (!$this->valid_access_token($token)) {
// 生成新的AccessToken
$token = $this->new_access_token();
if ($token === false) {
return false;
}
// 保存新生成的AccessToken
if ($this->save_access_token_diy !== false) {
// 用户自定义保存AccessToken方法
call_user_func($this->save_access_token_diy, json_encode($token));
} else {
// 异常处理: 保存access_token方法未定义
@error_log('Not set saveTokenDiy method, AccessToken will be refreshed each time.', 0);
}
}
return $token->access_token;
}