У меня есть токен доступа oauth, но мой запрос get не выполняется. Ниже мой код:
$response = array();
$crl = curl_init();
$newurl = "https://www.googleapis.com/gmail/v1/users/[email protected]/messages?access_token=" . $result['access_token'];
echo $newurl . "</br>";
curl_setopt($crl, CURLOPT_HTTPGET, true);
curl_setopt($crl, CURLOPT_URL, $newurl);
curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1);
$reply = curl_exec($crl);
if ( $reply ) {
echo 'successfully retrieved messages</br>';
echo $reply;
} else {
echo 'failed to get messages</br>'; // prints
echo $reply; // prints nothing
}
Я подтвердил, что мой ключ правильный:
Мой токен Google oAuth2 выглядит правильно?
[email protected], безусловно, тот, который предоставил доступ. Поскольку это PHP, я не могу отлаживать, потому что у меня нет консоли (я пытался распечатать ответ, который ничего не печатает).
Кажется, что у вас не установлены сертификаты для ssl.
Я не рекомендую отключать проверку ssl, но вы можете использовать:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);.
То, что вы должны сделать, это:
curl_setopt($ch, CURLOPT_CAINFO, "path/to/cacert.pem");
Скачать (непосредственный) Сертификат и используйте вышеуказанный код.
Других решений пока нет …