Gmail API PHP-从其他帐户读取电子邮件

时间:2020-10-09 08:02:16

标签: php google-api gmail gmail-api

上下文:

我的Gmail帐户不是服务帐户。我正在编写一个PHP CLI应用程序,用于检查来自特定发件人和特定主题的电子邮件。 假设此应用程序用于自定义域,但不属于GSuite。我无法控制服务器上我们域的电子邮件。

我正在使用自己的credentials.json文件通过Google API门户网站进行身份验证。我修改了Quickstart中的代码,以根据查询获取电子邮件并获取所需的特定电子邮件。 (通过快速入门示例,用户为“我”。

参考:PHP documentation for Gmail API

问题:

如何使该应用程序对我域内的任何用户有效?有什么可能的方式,我可以执行此操作而无需具有服务器范围的委派(我希望该术语正确)访问权限的另一个帐户?

例如

$tmp = new CustomClassUsingGmailAPI();
$emailIds = ["email1@customdomain", "email2@customdomain"];
foreach($emailIds as $emailId){
    $tmp->doTheRequiredTask($emailId);
}

1 个答案:

答案 0 :(得分:2)

您要遵循的教程使用Oauth2授权您的应用程序访问用户数据。

通过快速入门示例,用户是“我”。

实际上,用户始终是登录并验证应用程序的人。访问私人用户数据的唯一方法是获得拥有该数据的人的许可。

无法访问非gsuite域用户的电子邮件。这称为数据隐私和安全性。未经您的许可,您和您的应用程序将无法访问我的数据。

除非您将域转换为gsuite域,否则,未经他们的许可,您将无法访问该域的用户电子邮件。