我正在尝试使用google api从gmail帐户获取新电子邮件。无论如何阅读文档我发现有两种类型可以在未经授权的情况下访问第一个api(使用json凭证),第二种是服务帐户(使用p12证书和密钥)
无法理解这次访问有什么区别?我究竟应该使用什么?
由于
答案 0 :(得分:2)
Oauth2是您正在关注的第一种类型。使用Oauth2,将向必须批准您访问权限的用户显示同意屏幕。用户想要访问用户的Gmail帐户,想要访问用户的Google日历,就想访问用户的google云端硬盘。
service account访问权限是通过获取服务帐户电子邮件地址并将其作为相关数据的用户添加进行预授权的。用法:您希望允许其他用户将文件上传到您的Google云端硬盘帐户,您可以将服务帐户电子邮件地址添加到Google云端硬盘上的文件夹中,然后服务帐户就可以上传到该文件夹而无需提示任何用户对于权限。
如果要访问用户帐户,请使用Oauth2,如果要访问由开发人员控制的帐户,请使用服务帐户。
如果您想要访问用户Gmail帐户,则需要使用Oauth2,您无权授予其他用户访问Gmail的权限,因此无法授予服务帐户访问权限。