0

次のユース ケースを Chrome 拡張機能として実装したいと考えています。

  • ユーザーが Gmail にアクセス
  • エクステンションは、キーワードの現在の電子メール本文をチェックします
  • キーワードが存在する場合、gmail フィルターが追加されて保存されます (ラベルの追加、アーカイブ、詳細はここでは重要ではありません)。

最初の部分は簡単そうに見えます。操作するgmail APIと、それを簡単にするgmail.jsプロジェクトさえあります。

フィルターを追加するのははるかに難しいようです。私が望んでいることを正確に行う電子メール設定APIがありますが、ビジネスアカウントでのみ使用できると確信しています(カスタム電子メールドメイン、gmail.comでは機能しません)。ソリューションをもっと普遍的にしたい。

私が考えたことの 1 つは、ブラウザーの自動化を使用することでした。トリガー キーワードを確認すると、スクリプトは自動的に [フィルターの追加] リンクをクリックし、AJAX を待機し、フィルター パラメーターを設定して確認します。

シミュレートされたユーザー アクティビティの例は、この回答にあります

これは、ポップアップの背後にある Gmail ページ (「しばらくお待ちください。フィルターを調整しています」) またはバックグラウンド タブで発生して、ユーザーの流れを妨げないようにすることができます。ただし、これは私にとっては醜い回避策のようです。

私が見逃している、より簡単な、または単純に優れたアプローチはありますか?

4

1 に答える 1

1

さらに実験を重ね、古い github プロジェクトを復活させた後、現在のセッションから特定の POST メッセージを gmail に発行するだけで、ログインしているユーザーのフィルターを設定できることがわかりました。

このリクエストで使用されているパラメーターを完全には理解していませんが (より詳しい情報をお持ちの方は共有してください)、非常に役立つサンプル コードを見つけました。

gmail.js コミュニティで広く議論されている 2 つ目の問題は、Gmail のセキュリティ ポリシーにより、独自のスクリプトを挿入できないことです。これは、この定型プロジェクトに示されている方法によってバイパスされます

これらのソリューションをコンパイルして、特定のユース ケースを解決しました。これは私のソリューションを使用したサンプル プロジェクトです。これはすぐに使用できるはずです。不明な点がある場合は、readme を参照してください。

于 2015-04-20T21:00:45.103 に答える