我正在尝试在我的项目中使用google登录。登录页面工作正常,但是当我尝试获取数据时,出现此错误。谢谢。
我正在wampserver上运行我的php代码。并且我正在Visual Studio上对页面进行编码。您可以看到我的代码。
//这是我的代码google_login.php
<?php
require_once('config.php');
if (isset($_GET['code']))
{
$token = $gClient->fetchAccessTokenWithAuthCode($_GET['code']);
$_SESSION['access_token'] = $token;
}
$oAuth = new Google_Service_Oauth2($gClient);
$userData = $oAuth->userinfo_v2_me->get();
echo "<pre>";
var_dump($userData);
?>
//this is my config.php
<?php
session_start();
require_once "GoogleAPI/vendor/autoload.php";
$gClient = new Google_Client();
$gClient->setClientId("1049012749051-01hv5pmer43duvcfa7q9872j1jtmp6bi.apps.googleusercontent.com");
$gClient->setClientSecret("LzTnjxrHg5Kl0h7z2MJ0-9Ru");
$gClient->setApplicationName("Anytime Learn");
$gClient->setRedirectUri("http://localhost/atl/google_login.php");
$gClient->addScope("https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/userinfo.email");
?>
(!)致命错误:未捕获的GuzzleHttp \ Exception \ RequestException:cURL 错误60:SSL证书问题:无法获取本地发行者 证书(请参阅http://curl.haxx.se/libcurl/c/libcurl-errors.html) C:\ wamp64 \ www \ atl \ GoogleAPI \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlFactory.php 在第187行(!)上GuzzleHttp \ Exception \ RequestException:cURL错误 60:SSL证书问题:无法获取本地颁发者证书 (请参阅http://curl.haxx.se/libcurl/c/libcurl-errors.html) C:\ wamp64 \ www \ atl \ GoogleAPI \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlFactory.php 在第187行调用堆栈上
时间记忆功能位置1 0.0021 406776 {main}()... \ google_login.php:0
2 0.0174 424824 Google_Client-> fetchAccessTokenWithAuthCode( )... \ google_login.php:5 3 0.0320 519024 Google \ Auth \ OAuth2-> fetchAuthToken( )... \ Client.php:191 4 0.0334 597056 Google \ Auth \ HttpHandler \ Guzzle6HttpHandler-> __ invoke( )... \ OAuth2.php:492 5 0.0334 597056 GuzzleHttp \ Client-> send( )... \ Guzzle6HttpHandler.php:34 6 0.1267 636424 GuzzleHttp \ Promise \ RejectedPromise-> wait( )... \ Client.php:106
答案 0 :(得分:0)
返回似乎期望使用https网址,而不是http://localhost/atl/google_login.php。您必须在https上进行本地工作。
您需要下载卷曲识别的证书:https://curl.haxx.se/ca/cacert.pem
保存cert.pem文件并将其指向您的php.ini,您正在寻找CURLOPT_CAINFO