Gmail API 通知 PubSub

问题描述 投票:0回答:1

我正在开发一些电子邮件自动化,需要使用 GMail API 和 PubSub,如 Google 文档中所述:https://developers.google.com/gmail/api/guides/push

此设置需要设置 OAuth 同意屏幕,用户可以通过该屏幕允许使用其凭据。这在我具有可打开浏览器的本地笔记本电脑上完美运行。但是,正如此处提到的:https://developers.google.com/gmail/api/guides/push#renewing_mailbox_watch,必须至少每 7 天调用一次 watch 方法才能保持观察者处于活动状态。我需要通过将观察程序脚本部署为 GCP 云运行作业来自动化它。该运行时无法访问浏览器。

我正在使用以下片段来触发同意屏幕。

flow = InstalledAppFlow.from_client_secrets_file("client.json", SCOPES, redirect_uri="http://localhost")
creds = flow.run_local_server(port=0)

如何通过无需浏览器访问的微服务来实现这一点?请帮忙!

我创建了一个调用 GMail API 的

watch
方法的脚本,这将打开本地浏览器并获取用户同意使用 OAuth 凭据。我正在尝试通过一个没有浏览器的云运行作业来实现这一点,这样这个过程就可以自动化,每 7 天调用一次手表 API。

google-oauth gmail-api google-cloud-pubsub google-cloud-run
1个回答
0
投票

您需要创建一个使用域范围委托设置的服务帐户,以允许它作为给定用户调用监视方法

© www.soinside.com 2019 - 2024. All rights reserved.