我正在尝试设置一个cron作业,每天从我的Gmail收件箱中的某个电子邮件中读取内容。我放弃了gmail api文档,并注意到验证访问电子邮件数据请求的唯一方法是通过OAuth 2.0,这需要用户授权。有没有办法授权我的应用程序访问特定电子邮件ID的电子邮件,而无需用户手动执行任何操作。
我发现了这个:https://developers.google.com/identity/sign-in/web/server-side-flow。我想知道是否有任何方法可以遵循此工作流程而无需构建UI?
答案 0 :(得分:0)
从技术上讲,您可以使用Oauth2,只需要对应用程序进行一次用户身份验证。您将获得刷新令牌,然后您可以使用刷新令牌从cron获取新的访问令牌。除非这是Google域帐户,否则您无法使用服务帐户。无法预先授权服务帐户访问普通用户Gmail。
替代方案:您是否考虑过直接通过邮件服务器?跳过剩下的api。 https://developers.google.com/gmail/oauth_overview注意:该页面也提到XOauth2我还没有尝试过,但您仍然可以使用用户名和密码访问SMTP和IMAP。