我想阅读@gmail.com
电子邮件帐户的电子邮件。我已经浏览了指南和代码示例,并且一直收到Client is unauthorized to retrieve access tokens using this method
错误消息。我可以使用OAuth2 3 legged方法访问数据。
我还有G-Suite管理员和G-Suite组织域名和电子邮件。使用这些电子邮件,代码可以工作,我可以检索电子邮件。
那么,为什么我不能让它运行我的个人Gmail帐户(非G-Suite)?我是否必须以某种方式在我的Gmail帐户中授权此服务帐户?我还没有看到任何关于它的事情。
请指教!
感谢。
答案 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。