非G-Suite帐户服务"客户未经授权"错误 - 适用于G Suite中的电子邮件

时间:2017-09-10 23:22:39

标签: php google-api gmail-api service-accounts

我想阅读@gmail.com电子邮件帐户的电子邮件。我已经浏览了指南和代码示例,并且一直收到Client is unauthorized to retrieve access tokens using this method错误消息。我可以使用OAuth2 3 legged方法访问数据。

我还有G-Suite管理员和G-Suite组织域名和电子邮件。使用这些电子邮件,代码可以工作,我可以检索电子邮件。

那么,为什么我不能让它运行我的个人Gmail帐户(非G-Suite)?我是否必须以某种方式在我的Gmail帐户中授权此服务帐户?我还没有看到任何关于它的事情。

请指教!

感谢。

2 个答案:

答案 0 :(得分:1)

简答:不,您不能将服务帐户与经典的Gmail帐户一起使用。改为使用OauthID。

您谈论服务帐户这一事实使我想到了有关API的管理帐户和Gmail帐户之间差异的误解。

事实上,使用域名管理的Google帐户,您可以使用服务帐户。您将创建一个项目,一个ID,并且您将允许此域服务的域范围委托(DwD)到您的域,除了它能够使用的Apis之外没有任何限制。

在gmail帐户的情况下,这是非常不同的,因为你不能在gmail.com上有DwD(或者你可能是CIA ..)

这里最好的选择是使用Oauth ID。它的身份验证取决于相关用户的同意。

您可以阅读有关此here

的信息

方法略有不同,但结果将是相同的,因为用户可以同意广告vitam aeternam。

答案 1 :(得分:0)

我是否必须以某种方式在我的Gmail帐户中授权此服务帐户?

是。根据此documentation,如果您的应用程序在Google Apps域中运行并访问用户数据,则您创建的服务帐户需要被授予对您要访问的用户数据的访问权限。请按照给定的文档说明Google Apps域管理员必须执行的步骤。

您遇到Client is unauthorized to retrieve access tokens using this method错误,因为服务帐户需要获得授权,或者无法访问域的电子邮件。请参阅此link