如何在新邮件进入Gmail收件箱时接收Webhook事件?
实现Gmail新邮件的Webhook事件推送
可以通过Gmail API结合Google Cloud Pub/Sub实现类似需求,具体步骤如下:
启用相关服务
先在Google Cloud Console中开启Gmail API和Cloud Pub/Sub服务,创建一个Pub/Sub主题,用于接收Gmail的事件通知。配置Gmail推送监控
使用Gmail API的watch方法,设置监控收件箱并指定目标Pub/Sub主题。示例HTTP请求:POST https://gmail.googleapis.com/gmail/v1/users/me/watch Authorization: Bearer [你的访问令牌] Content-Type: application/json { "labelIds": ["INBOX"], "topicName": "projects/[你的项目ID]/topics/[你的主题名称]" }执行后,Gmail会在新邮件进入收件箱时,将事件推送到指定的Pub/Sub主题。
配置Pub/Sub推送至Webhook
给创建好的Pub/Sub主题添加一个推送类型的订阅,填入你的Webhook公开URL。当Pub/Sub收到Gmail的事件后,会自动将消息推送到该Webhook地址。关键注意点
- 你的Webhook URL必须公开可访问,且能处理POST请求,返回200状态码确认接收。
- 需确保拥有足够权限:Gmail API的
gmail.readonly或更高权限,以及Cloud Pub/Sub的相关操作权限。 - 推送的事件仅包含邮件ID,如需邮件详情,可调用Gmail API的
users.messages.get方法获取。
另外,也可以用Google Apps Script简化流程:通过GmailApp设置新邮件触发器,触发后调用你的Webhook。不过这种方式的实时性不如Pub/Sub方案。
内容的提问来源于stack exchange,提问作者Neha
相关产品推荐
相关产品推荐

