Google Cloud Pub / Sub-API - Push-E-Mail

9

Ich verwende node.js, um eine App zu erstellen, die jedes Mal, wenn eine E-Mail empfangen wird, einen Push von Gmail erhält, sie in einer CRM-Datenbank gegen eine Drittanbieter-Datenbank prüft und ein neues Feld im CRM erstellt ist dort enthalten. Ich habe Probleme mit dem neuen Cloud Pub / Sub von Google. Dies scheint die einzige Möglichkeit zu sein, Push von Google Mail ohne ständige Polling zu erhalten.

Ich habe die Anleitung hier durchgegangen: Ссылка , aber ich verstehe nicht, wie genau das funktionieren soll von einer App auf meinem Desktop. Es scheint, dass sich Pub / Sub mit einer verifizierten Domain verbinden kann, aber ich kann nicht direkt mit dem .js-Skript, das ich auf meinem Computer habe, eine Verbindung herstellen. Ich habe den API-Schlüssel in einer JSON-Datei gespeichert und verwende folgendes:

%Vor%

Ich bekomme jedoch Fehler, als ob es keine Verbindung zum Server herstellt und auf der API-Liste sehe ich nur Fehler, keine tatsächlichen Erfolge. Ich mache eindeutig etwas falsch, irgendeine Idee, was es sein könnte?

Vielen Dank im Voraus!

    
Sekoul 23.07.2015, 22:17
quelle

1 Antwort

4

TL; DR

Sie können keine Push-Benachrichtigungen von der Clientseite aus abonnieren.

  

Richten Sie einen HTTPS-Server für die Verarbeitung der Nachrichten ein. Nachrichten werden gesendet   an den von Ihnen konfigurierten URL-Endpunkt, der den Server darstellt   Lage. Ihr Server muss über einen DNS-Namen erreichbar sein und muss   ein signiertes SSL-Zertifikat vorlegen. (App Engine-Anwendungen sind   vorkonfiguriert mit SSL-Zertifikaten.)

Abonnieren Sie einfach die Push-Benachrichtigungen auf Ihrem Server, und wenn Sie die Benachrichtigung erhalten, können Sie herausfinden, um wen es sich handelt. Die Daten, die Sie aus den Benachrichtigungen erhalten, sind der Benutzer, um den es sich handelt, und die relevante historyId, etwa so:

%Vor%

Dann könnten Sie z.B. Senden Sie über Socket.io ein Ereignis an den entsprechenden Benutzer, wenn er online ist, und veranlassen Sie eine Synchronisierung mit der bereitgestellten historyId auf der Clientseite.

    
Tholle 23.07.2015, 23:00
quelle