@Lee 指出了正确的方法,但是如果您使用的是旧的 php 版本,它将无法正常工作。但李版不会显示错误。改用这些,我只添加错误部分来查看发生了什么。
$ch = curl_init();
$clientId = "";
$secret = "";
curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/oauth2/token");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, $clientId.":".$secret);
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
$result = curl_exec($ch);
$err = curl_error($ch);
$access_token="";
if ($err) {
echo "cURL Error #:" . $err;
}
else
{
$json = json_decode($result);
// print_r($json->access_token);
$access_token = $json->access_token;
}
如果您使用的是旧的 PHP 版本,则它可能无法正常工作,并且会显示此错误:
cURL Error #:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
只是堆栈溢出它!
他们在这里讨论问题