从 Gmail API 向本地主机端点发送推送通知

Shi*_*aul 3 google-cloud-platform google-cloud-pubsub

我想做什么

我正在使用 Gmail API + Google Pub/Sub API将推送通知发送到我在 EC2 实例上运行的节点服务器,每次我在watch()ed 收件箱上收到电子邮件。我将我的服务器的域添加到console.developers.google.com的 Push 部分,然后对于 Pub/Sub API,我创建一个订阅并添加 Push Endpoint URL。端点看起来是这样的:https://example.com/receive

我想做的是在本地进行测试。

问题

如何让 Google 向我的本地主机服务器发送推送通知?测试时,我希望将新电子邮件通知发送到http://localhost:8080/receive. 我正在考虑使用ngrok来公开 localhost - 但问题是每次 ngrok URL 更改时我都必须手动上传 Google 的证明(我拥有域),这是一个非常令人头疼的问题。

是否有更好的方式在我的本地主机服务器上接收新的电子邮件通知?

Tak*_*suo 5

一种选择是每月向 ngrok 支付 5 美元并获得一个自定义子域。另一种选择是自己模拟这些通知的 HTTP POST 请求。可以通过 curl 实现,如下所示:

$ curl -i --data @push_notification.json http://localhost:8080/receive
Run Code Online (Sandbox Code Playgroud)

您需要有一个与 gmail 推送通知内容相同的本地文件“push_notification.json”。