1

Gmail API(Google Cloud Platformを使用)を使用して自分のサーバーにプッシュ通知を送信しています。このメールボックスは、実際にユーザーが実際にアクセスすることはありません。メールボックスから最新のメールを取得するサーバー上のルートにプッシュ通知を送信する目的でのみ存在します。サイズの大きい添付ファイルが多いメールを送信すると、Gmail APIプッシュ通知が多すぎます

毎日、私はこのメールアドレスにUsers: watch()を更新するcronジョブを持っています。クラウドコンソール内の1つのトピックに関連付けられているメールアドレスは1つだけです(サーバーに1つのpushが登録されています)。私のコントローラーはUsers.messages: listを呼び出して最近の電子メールのリストを取得し、最後にUsers.messages: getを付けて、すべての添付ファイルID /ファイル名を持つ最新の電子メールを取得し、最後にUsers.messages.attachments: getを添付して各添付ファイルの各データを取得します。

多くの添付データ(画像データの25 Mbなど)を含むメールを送信すると、一連のプッシュ通知が受信されます。それぞれの受信通知には、message_idと送信されたデータにタイムスタンプが付いています。プッシュ通知POST要求。今のところ私はサーバが1回のプッシュ通知に複数回反応するのを防ぐために、message_idをキャッシュに保存することでこれを処理しています。

私の解決策はうまく動作しますが、誰がこのような問題を経験している場合、私は好奇心が強い、またはこれは、GmailのAPIやクラウドプラットフォームのバグであるかどうか。どんな助けや助言もありがとう!

答えて

0

Gmailやクラウドプラットフォームのバグではないと思います。

実際には、Push Notificationsで説明したように、Gmail APIは既にプッシュ通知を配信するためにCloud Pub/Sub APIの使用を実装しています。これにより、webhooksや単一のサブスクリプションエンドポイントでのポーリングなど、さまざまな方法で通知できます。このAPIでは、すべてのアプリケーションですべてのGmail APIプッシュ通知に1つのトピックを使用することをおすすめします。

詳細情報はdocumentationにあり、このCloud Pub/Sub APIに精通するためには、Google Cloud Pub/Sub Documentationをお勧めします。

関連する問題