用于发送邮件的Google OAuth范围

时间:2013-09-30 19:49:37

标签: gmail oauth-2.0 google-apps google-oauth

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

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

enter image description here

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

2 个答案:

答案 0 :(得分:8)

如果您通过SMTP或IMAP使用OAuth,则范围相同。但Google为Gmail API访问发布了一组新的范围(https://developers.google.com/gmail/api/auth/scopes)。他们在这里:

  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)
  11. 您可以尝试使用第5个,看看它是否适合您。

答案 1 :(得分:4)

我担心答案是否定的。 GMail API documentation指定提供读写访问权限的单个范围(https://mail.google.com)。不理想的IMO,拥有独立的读/写电子邮件访问范围会很好。

仅供参考,SO中的similar question导致了对只读电子邮件访问的相同结论。