从Gmail新邮件触发事件

9

是否有API或事件可以在Gmail中拦截,以便我可以启动工作流程甚至触发Python脚本。

我正在尝试自动化一个工作,该工作将从到达Gmail的电子邮件中提取CSV附件。 然后将CSV ETL到BigQuery中。

有什么想法吗?

2个回答

3

最近完成了以下整合:

  1. 开启消息事件监控:https://developers.google.com/gmail/api/v1/reference/users/watch

  2. 当您收到新的传入messageId(messagesAdded历史类型)时,请求其完整信息:https://developers.google.com/gmail/api/v1/reference/users/messages/get

  3. 在元数据中查找payload.parts[i],其中包含body.attachmentId,并使用其ID获取附件:https://developers.google.com/gmail/api/v1/reference/users/messages/attachments/get

注意:请勿删除HTML标签。

1

我不确定在Gmail本身内部是否可以实现,

但您可以尝试编写一个使用IMAP库来读取Gmail邮件并使用Google客户端Python将其加载到BigQuery的Python脚本。然后使用cron设置它每隔x分钟运行一次以检查Gmail帐户。

这应该会给您提供一个读取Gmail邮件的起始代码:

https://gist.github.com/baali/2633554

如果你只想要新的消息,只需将搜索参数“ALL”替换为“UNSEEN”。
更多信息: https://docs.python.org/2/library/imaplib.html 将其加载到BigQuery的Python示例: https://developers.google.com/bigquery/loading-data-into-bigquery 我仍在等待IFTTT https://ifttt.com/wtf 提供API,以便用户创建自己的频道或自定义操作。例如Google BigQuery频道。
希望这有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接