【问题标题】:How to call Gmail API using PHP and cURL?如何使用 PHP 和 cURL 调用 Gmail API?
【发布时间】:2014-11-15 03:57:51
【问题描述】:

我有 oauth 访问令牌,但我的获取请求失败。以下是我的代码:

    $response = array();
    $crl = curl_init();
    $newurl = "https://www.googleapis.com/gmail/v1/users/myemail@gmail.com/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
    }

我确认我的密钥是正确的: Does my Google oAuth2 Token look right?

myemail@gmail.com 当然是提供访问权限的那个。由于这是 PHP,我无法调试,因为我没有控制台(我试图打印出它没有打印的回复)。

【问题讨论】:

  • 成功了。我的应用程序类型是“Web 应用程序”,所以我只有一个 id 和 secret。我没有 .pem 文件。这是什么,我从哪里得到它?

标签: php curl gmail-api


【解决方案1】:

您似乎没有正确安装 ssl 证书。

我不建议禁用 ssl 检查,但你可以使用:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);.

你应该做的是:

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

Download (direct) 证书并使用上面的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多