用于发送邮件的Google OAuth范围

Jon*_*sen 4 gmail google-apps oauth-2.0 google-oauth

使用Google Oauth2,以下范围用于获取用户电子邮件的API访问权限:https: //mail.google.com/

通过OAuth 2.0 Playground测试范围确认该应用想要"查看和管理您的电子邮件":

在此输入图像描述

有没有办法只要求代表用户发送电子邮件?或许更具体的范围?

Kum*_*mar 8

如果您通过SMTP或IMAP使用OAuth,则范围相同.但谷歌发布了一套新的范围(https://developers.google.com/gmail/api/auth/scopes),用于Gmail API访问.他们来了:

  1. https://mail.google.com/ 对帐户的完全访问权限,包括永久删除线程和邮件.只有在您的应用程序需要立即永久删除线程和消息时,才应请求此范围.可以使用较不宽松的范围执行所有其他操作.
  2. https://www.googleapis.com/auth/gmail.modify 除了立即永久删除线程和消息之外的所有读/写操作.
  3. https://www.googleapis.com/auth/gmail.readonly 阅读所有资源及其元数据.没有写操作.
  4. https://www.googleapis.com/auth/gmail.compose 创建,阅读,更新和删除草稿.发送消息和草稿.
  5. https://www.googleapis.com/auth/gmail.send 仅发送消息.没有对邮箱的读取或修改权限.
  6. https://www.googleapis.com/auth/gmail.insert 仅插入和导入邮件.
  7. https://www.googleapis.com/auth/gmail.labels仅 创建,阅读,更新和删除标签.
  8. https://www.googleapis.com/auth/gmail.metadata 读取资源元数据,包括标签,历史记录和电子邮件标题,但不包括邮件正文或附件.
  9. https://www.googleapis.com/auth/gmail.settings.basic 管理基本邮件设置.
  10. https://www.googleapis.com/auth/gmail.settings.sharing 管理敏感邮件设置,包括转发规则和别名.(仅限GSuite)

您可以尝试使用第5个,看看它是否适合您.

  • 两年过去了,https://www.googleapis.com/auth/gmail.send 仍然不允许您发送电子邮件。Gmail 团队就是个笑话。 (4认同)
  • 仍在与他们斗争,这次主要是针对需要 mail.google.com 范围的 SMTP 服务器和 OAuth 2.0。他们告诉我改用 API 并改用 .send 范围。当然,将我所有的客户从 SMTP 服务器更改为 API...听起来很有成效。为什么他们不只是将 SMTP 服务器上的范围更改为 .send 我不知道。无论如何,我正在放弃试图与谷歌推理。我将强制我的客户在他们自己的 Google Apps 中设置他们自己的应用程序,并且不允许仅将其用于 gmail.com 地址。荒谬的。 (3认同)
  • 现在,Google 也限制了几乎所有 gmail 范围的使用,并迫使应用程序开发人员“证明”您需要这些范围。我通过他们的“机器人”要求视频,确认您遵循准则等来回与他们一起经历了 3 个月的时间。最后,他们撤销了对我的应用程序的访问权限。我确实发布了一个问题,但还没有回复。我不敢相信没有更多的开发人员经历过这个。 (2认同)
  • @bvstone你可以责怪:https://www.theverge.com/2018/7/2/17527972/gmail-app-developers-full-email-access (2认同)
  • 我们有同样的问题:Google要求放弃https://mail.google.com/范围,而使用我们要使用的https://www.googleapis.com/auth/gmail.send范围。乐于做……但是他们的系统无法应对更改,即使我们在应用程序和管理控制台中进行了更改,他们的SMTP服务器仍然坚持完整的访问范围。他们来回移动了几个月,他们已经好几个星期没有回复了,现在Gmails向我们的客户发送邮件,告知我们我们的应用将停止使用其Gmail帐户。Gmail团队是我处理过的最无能和最不透明的实体。 (2认同)
  • @GregWittmeyer 即使在 2023 年 https://www.googleapis.com/auth/gmail.send 也不允许您发送电子邮件 为您提供更多 2 年时间 (2认同)

Mig*_*res 5

恐怕答案是否定的。所述的GMail API文档指定单个范围(https://mail.google.com)提供读和写访问。不是理想的 IMO,拥有独立的读/写电子邮件访问范围会很好。

仅供参考,SO 中的类似问题对只读电子邮件访问得出了相同的结论。