【问题标题】:Gmail API curl in PHP gives 404 (with fresh token)PHP中的Gmail API curl给出404(带有新令牌)
【发布时间】:2020-01-31 03:24:59
【问题描述】:

我尝试通过 gmail API 从 PHP 页面连接到我的 gmail。我将浏览到我的 PHP 页面到嵌入式系统,以便轻松接收和发送电子邮件。 目前我使用 OAuth (https://developers.google.com/identity/sign-in/web) 收到了我的令牌。但是接收邮件列表不起作用,当我访问我的 PHP 页面时,我最终得到了一个 google 404 页面。 我的 PHP 页面上的 404 错误的图像:https://imgur.com/80Ttm9o PHP代码:

$apikey = "APIKEY";
$token = "received over OAuth in console";

$q   = array("q"=>"PHP HTTP request");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://www.googleapis.com/gmail/v1/users/EMAIL@gmail.com/messages?includeSpamTrash=true&maxResults=5&key=APIKEY");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$q);  //Post Fields
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$headers = [
    "Content-Type: application/x-www-form-urlencoded",
    "Content-Length: ".strlen("PHP HTTP request"),
    "User-Agent: PHP Test",
    "Accept: application/json",
    "Authorization: Bearer ".base64_encode($token),
    "Cookie: key=".base64_encode($apikey),

    "Host: www.XXXXXXXX.be",
    "Referer: http://www.XXXXXXXX.be/test/test.php" //Your referrer address
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$server_output = curl_exec($ch);
curl_close ($ch);
print  $server_output ;

【问题讨论】:

  • 看看this answer,它可以引导你走上正确的道路。
  • @AMolina thx 但这对我没有帮助。它确实给了我动力,我找到了另一个有工作代码的网站!谢谢
  • 很高兴您的问题得到解决!

标签: php api curl gmail gmail-api


【解决方案1】:

我找到了这个网站:https://wp-time.com/send-email-via-gmail-api-using-php/ 有了这个,已经可以发送了。我正在努力导入收件箱以查看收到的邮件,它正在工作!我还通过添加以下标题和 $mail gmail 和 $password 纯文本密码来实现它自己的登录。如果你需要帮助/php-code,你可以给我发邮件。完成后,我的代码应该在 API 中进行翻译,以便轻松发送和接收电子邮件。

'username' => $mail,
'password' => $password,
'grant_type' => 'authorization_code' 

【讨论】:

  • 我从未制作过 API,但最初的项目可以发送和查看电子邮件。
猜你喜欢
  • 2017-05-23
  • 1970-01-01
  • 2015-11-28
  • 2014-07-15
  • 2021-04-12
  • 2014-04-14
  • 2021-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多