当前位置: 首页 > 面试题库 >

Google Cloud Pub / Sub API-推送电子邮件

宰父霖
2023-03-14
问题内容

我正在使用node.js创建一个应用程序,该应用程序每次接收到电子邮件时都会从Gmail获取推送信息,并根据CRM中的第三方数据库对其进行检查,并在CRM中创建新字段(如果其中包含电子邮件)
。我在使用Google的新Cloud Pub / Sub时遇到了麻烦,这似乎是在不进行持续轮询的情况下从Gmail获取推送的唯一方法。

我已经按照以下说明进行了操作:https :
//cloud.google.com/pubsub/prereqs,但是我不知道该如何在我的台式机上运行。看来pub
/ sub可以连接到经过验证的域,但是我无法使其直接连接到计算机上的.js脚本。我已将api密钥保存在json文件中,并使用以下命令:

var gcloud = require('gcloud');
var pubsub;

// From Google Compute Engine:
pubsub = gcloud.pubsub({
  projectId: 'my-project',
});

// Or from elsewhere:
pubsub = gcloud.pubsub({
  projectId: 'my-project',
  keyFilename: '/path/to/keyfile.json'
});

// Create a new topic.
pubsub.createTopic('my-new-topic', function(err, topic) {});

// Reference an existing topic.
var topic = pubsub.topic('my-existing-topic');

// Publish a message to the topic.
topic.publish('New message!', function(err) {});

// Subscribe to the topic.
topic.subscribe('new-subscription', function(err, subscription) {
  // Register listeners to start pulling for messages.
  function onError(err) {}
  function onMessage(message) {}
  subscription.on('error', onError);
  subscription.on('message', onMessage);

  // Remove listeners to stop pulling for messages.
  subscription.removeListener('message', onMessage);
  subscription.removeListener('error', onError);
});

但是,我收到错误消息,好像它没有连接到服务器一样,并且在API列表上我仅看到错误,没有实际成功。我显然做错了什么,知道可能是什么吗?

先感谢您!


问题答案:

TL; DR

您不能从客户端订阅推送通知。

设置HTTPS服务器以处理消息。消息将发送到您配置的URL端点,代表该服务器的位置。您的服务器必须可以通过DNS名称访问,并且必须出示签名的SSL证书。(App
Engine应用程序已预先配置有SSL证书。)

只需在您的服务器上订阅推送通知,当您收到通知时,就可以确定它关注的人。您将从通知中获得的数据是它所关注的用户以及相关的historyId,如下所示:

 // This is all the data the notifications will give you.
 {"emailAddress": "user@example.com", "historyId": "9876543210"}

然后,例如,如果他在线,则可以通过Socket.io向相关用户发出事件,并让他与客户端上提供的historyId进行同步



 类似资料:
  • 问题内容: 我正在使用sendgrid发送电子邮件,并且使用以下代码可以正常工作,但没有附件。 但是我需要发送附件,因此我搜索了github源和Web文档API,由于某种原因,没有javadocs,但是有一个示例GitHub sendgrid, 所以我一直在尝试直到它起作用为止,我缩小了一些异常和响应代码,起初我是被禁止的未经授权,最好是响应202,表示有效且已排队(在此处检查),这是我的代码发送

  • 问题内容: 在Swift 的正常情况下,我使用此代码发送邮件。 如何在SwiftUI中实现相同目标? 我需要使用吗? 问题答案: 如前所述,您需要将组件移植到via 。 这是一个简单的实现: 用法 : (在运行iOS 13的iPhone 7 Plus上进行了测试-就像一个护身符) 为Xcode 11.4更新

  • 主要内容:SmtpClient类,示例VB.Net应用程序可发送电子邮件。名称空间包含用于向简单邮件传输协议(SMTP)服务器发送电子邮件以供传送的类。 下表列出了一些常用的类: 编号 类 描述 1 代表电子邮件的附件。 2 将附件存储为电子邮件的一部分。 3 代表电子邮件发件人或收件人的地址。 4 存储与电子邮件关联的电子邮件地址。 5 表示可以使用类发送的电子邮件。 6 允许应用程序使用简单邮件传输协议(SMTP)发送电子邮件。

  • 主要内容:使用 CDOSYS 发送电子邮件,CDONTs 怎么样?,使用 CDOSYS 的实例CDOSYS 是 ASP 中的内建组件。此组件用于通过 ASP 发送电子邮件。 使用 CDOSYS 发送电子邮件 CDO (Collaboration Data Objects) 是一项微软的技术,设计目的是用来简化通讯应用程序的创建。 CDOSYS 是 ASP 中的内建组件。我们将向您演示如何通过 ASP 使用该组件来发送电子邮件。 CDONTs 怎么样? 微软已经在 Windows 2000、

  • 问题内容: 但是我已经尝试了一天多了,以获取与Django一起使用的电子邮件。 我收到此错误消息:当我尝试发送电子邮件时 这是我创建电子邮件并尝试在其视图中发送的地方: 我的设置文件如下: 我尝试过使用进行测试发送python -m smtpd -n -c DebuggingServer localhost:1025并获得了成功,但是当最终归结为真正却没有成功时。 当我尝试从外壳执行send_ma

  • 我不想问关于用flutter发送电子邮件的事。我使用https://pub.dev/packages/flutter_email_sender#-readme-tab-发送电子邮件。 视图.省道