【发布时间】:2020-03-17 02:42:03
【问题描述】:
我已经在 GCP 中设置了所有内容。在我手动发布消息后,我的服务器可以接收消息。 但问题是:当我向邮箱账户发送邮件时,Pub-Sub 系统和我的 webhook 服务器没有任何通知!
下图是我手动发布消息后我的服务器可以收到消息的证明。
如上图,当我调用list history API时,可以查看到有没有我刚刚发送的测试邮件信息。
另外,我已经成功调用了watch API,它返回了:
{'historyId': '7688', 'expiration': '1574928158379'}
这是我的手表电话:
In [9]: def set_watch(self, topicName):
...: request = {
...: 'labelIds': ['INBOX', 'UNREAD', 'STARRED'],
...: 'labelFilterAction': 'include',
...: #'labelIds': ['UNREAD'],
...: 'topicName': topicName
...: }
...: res = self.service.users().watch(
...: userId=self.userId, body=request).execute()
...: print(res)
【问题讨论】:
-
watchapi好像没用,但是正常返回。 -
您是否将
publish权限授予gmail-api-push@system.gserviceaccount.com? -
如何检查。而且我认为这不像权限问题。
-
我还没有测试过,但我问是因为它是说明here 中的必需步骤之一,它还显示了如何添加它们。如果是这样,您应该会在 GCP 控制台中看到未经授权的 Pub/Sub API 调用
-
你是对的,在阅读了文档并再次思考之后,我弄清楚了我错过了什么。我错过了添加
gmail-api-push@system.gserviceaccount.com的步骤,非常感谢!
标签: google-cloud-platform gmail-api google-cloud-pubsub