在网站的一部分中,我向一个函数发送了一个调用,该函数为我带来了授权标识,但我希望每次只能执行一次,而不是每次都进入购买卡的地方< / p>
我该怎么办?
我正在整合Paypal
在一个名为functions.php的文件中 我有功能get_access_token
function get_access_token($url, $postdata) {
global $clientId, $secret;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($curl, CURLOPT_SSL_CIPHER_LIST,'TLSv1');
curl_setopt($curl, CURLOPT_USERPWD, $clientId . ":" . $secret);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
# curl_setopt($curl, CURLOPT_VERBOSE, TRUE);
$response = curl_exec( $curl );
if (empty($response)) {
// some kind of an error happened
die(curl_error($curl));
curl_close($curl); // close cURL handler
} else {
$info = curl_getinfo($curl);
curl_close($curl); // close cURL handler
if($info['http_code'] != 200 && $info['http_code'] != 201 ) {
echo "Received error: " . $info['http_code']. "\n";
echo "Raw response:".$response."\n";
die();
}
}
// Convert the result from JSON format to a PHP array
$jsonResponse = json_decode( $response );
session_start();
$_SESSION['access_token'] = $jsonResponse->access_token;
return $jsonResponse->access_token;
}
在另一个文件中,我调用该函数 //获取访问令牌
$url = $host.'/v1/oauth2/token';
$postArgs = 'grant_type=client_credentials';
$access_token= get_access_token($url,$postArgs);
情况是,每次拒绝或刷新页面时,都会进行新的呼叫
部分
$access_token= get_access_token($url,$postArgs);
它应该每6小时运行一次
感谢您的贡献
答案 0 :(得分:0)
您可以将接收到的数据保存到用户会话中。因此,您可以从会话中读取数据,如果条目的时间超过6小时,则可以使用curl请求数据。
希望有帮助吗?