1

Ich verwende die Google Mail-API (mit der Google Cloud Platform), um Push-Benachrichtigungen an meinen Server zu senden. Auf dieses Postfach wird eigentlich nie von einem Benutzer zugegriffen, es existiert nur zum Senden von Push-Benachrichtigungen an eine Route auf meinem Server, die die letzte E-Mail aus dem Postfach abruft.Zu viele Gmail-API-Push-Benachrichtigungen beim Senden von E-Mails mit vielen großen Anhängen

Jeden Tag habe ich einen Cron-Job, der die Users: watch() auf diese E-Mail-Adresse erneuert. Es ist nur eine E-Mail-Adresse mit einem einzigen Thema in der Cloud-Konsole mit einem push Abonnement für meinen Server verbunden. Mein Controller ruft dann Users.messages: list an, um eine Liste der letzten E-Mails abzurufen, gefolgt von Users.messages: get, um die neueste E-Mail mit allen Anhangs-IDs und Dateinamen zu erhalten und schließlich Users.messages.attachments: get, um alle Daten für jeden Anhang abzurufen.

Ich habe festgestellt, dass, wenn ich E-Mails mit vielen Anhangdaten (25 MB Bilddaten zum Beispiel) sende, eine Reihe von Push-Benachrichtigungen mit jeweils message_id und Zeitstempel in den mit dem Push-Benachrichtigung POST-Anfrage. Im Moment habe ich damit zu tun, indem ich die message_id für kurze Zeit in einem Cache speichere, um zu verhindern, dass mein Server mehr als einmal auf eine einzelne Push-Benachrichtigung reagiert.

Obwohl meine Lösung gut funktioniert, bin ich neugierig, ob jemand anderes ein Problem wie dieses oder einen Fehler in der Gmail-API oder Cloud-Plattform erlebt hat. Jede Hilfe oder Beratung wird geschätzt!

Antwort

0

Ich glaube nicht, dass es sich um einen Fehler in Gmail oder in der Cloud Platform handelt.

Tatsächlich, wie in beschrieben, hat Gmail API bereits die Verwendung von Cloud Pub/Sub API implementiert, um Push-Benachrichtigungen zu liefern. Dies ermöglicht die Benachrichtigung über eine Vielzahl von Methoden, einschließlich Webhooks und Abfragen an einem einzelnen Abonnement-Endpunkt. Und mit dieser API wird die Verwendung eines einzelnen Themas für alle Gmail-API-Push-Benachrichtigungen für alle Anwendungen empfohlen.

Detaillierte Informationen finden Sie in der documentation und mit dieser Cloud Pub/Sub-API vertraut zu machen, schlage ich vor, dass Sie gehen durch Google Cloud Pub/Sub Documentation.

Verwandte Themen