【发布时间】:2014-04-12 10:57:45
【问题描述】:
我想要做的是我正在使用我的 google oauth 对用户进行身份验证,并离线使用访问类型,它返回 2 个令牌 1 是访问令牌,另一个是刷新令牌,我正在使用 google oauth,所以很抱歉,它可能是一个愚蠢的问题,但目前我不知道是否可以使用访问令牌而不是密码来阅读带有 imap 的电子邮件,我的 imap 在使用密码但不使用访问令牌时工作正常,也许我缺少一些权限或者无法阅读带有访问令牌的电子邮件。
或者是否有任何其他方式来阅读用户的电子邮件我想从他的发件箱中获取用户签名,但如果你们需要更多信息,请发表评论。
<?php ob_start(); session_start();
$token = json_decode($_SESSION['token']);
print_r($token);
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX';
$username = 'themohitbumb@gmail.com';
$password = $token->refresh_token;
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error());
print_r($inbox);
imap_close($inbox);
?>
【问题讨论】:
-
您需要阅读适用于 IMAP 的 Google OAUTH2 扩展的文档。它不是使用标准 LOGIN 命令完成的,而是使用 AUTHENTICATE XOAUTH2 对话框代替。我不知道 PHP IMAP 库是否支持 AUTHENTICATE。具体来说,请参阅 IMAP 协议交换:developers.google.com/gmail/xoauth2_protocol
-
感谢好友希望该链接对我有用
标签: gmail imap google-oauth