【发布时间】:2015-12-17 20:51:34
【问题描述】:
我正在尝试使用 google api 从 gmail 帐户获取新电子邮件。但是阅读文档我发现有两种类型可以访问 api 第一种未经授权(使用 json 凭据),第二种是服务帐户(使用 p12 证书和密钥)
不明白这个访问有什么区别?我到底应该使用什么?
谢谢
【问题讨论】:
标签: google-api gmail google-oauth gmail-api service-accounts
我正在尝试使用 google api 从 gmail 帐户获取新电子邮件。但是阅读文档我发现有两种类型可以访问 api 第一种未经授权(使用 json 凭据),第二种是服务帐户(使用 p12 证书和密钥)
不明白这个访问有什么区别?我到底应该使用什么?
谢谢
【问题讨论】:
标签: google-api gmail google-oauth gmail-api service-accounts
Oauth2 是您正在查看的第一个类型。使用 Oauth2 会向必须批准您访问的用户显示同意屏幕。使用你想访问用户的 Gmail 帐户,你想访问用户的谷歌日历,你想访问用户的谷歌驱动器。
使用service account 访问是通过获取服务帐户电子邮件地址并将其添加为相关数据的用户来预先授权的。用法:您希望允许其他用户将文件上传到您的 google drive 帐户,您可以将服务帐户电子邮件地址添加到 google drive 上的文件夹,然后服务帐户将能够上传到该文件夹而无需提示任何用户获取权限。
当您想要访问用户帐户时使用 Oauth2,当您想要访问由开发者控制的帐户时使用服务帐户。
如果您想访问用户的 Gmail 帐户,您需要使用 Oauth2,您无法授予其他用户访问您的 Gmail 的权限,因此无法授予服务帐户访问权限。
【讨论】: