user2316667
user2316667

Reputation: 5634

How to call Gmail API using PHP and cURL?

I have the oauth access token but my get request fails. Below is my code:

    $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
    }

I confirmed that my key is correct: Does my Google oAuth2 Token look right?

[email protected] is certainly the one that provided access. Since this is PHP, I cannot debug because I do not have a console (I tried to print out the reply it prints nothing).

Upvotes: 1

Views: 2677

Answers (1)

Dave Chen
Dave Chen

Reputation: 10975

It seems that you do not have the certificates for ssl installed properly.

I do not recommend disabling ssl check, but you can use:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);.

The thing you should do is:

curl_setopt($ch, CURLOPT_CAINFO, "path/to/cacert.pem");

Download (direct) the cert and use the above code.

Upvotes: 1

Related Questions