GmailのChrome拡張機能を開発することを考えています。現在のベストプラクティスを教えてください。
例えば:
Gmailの機能を大幅に強化する注目すべき拡張機能がいくつかあります。
1つのオプションは、ここにあるソースを覗き込むことです~/Library/Application Support/Google/Chrome/Default
しかし、GmailのUIと機能をいじる方法についての(希望的観測)良いチュートリアル/実践のセットがあるかもしれません。
Gmail拡張機能/ガジェットAPI-作成ツールバーにボタンを追加する方法
プログラムでボタンを作成して挿入する必要があります。これには、Gmailのソースコードをかなり精査する必要があります(ネタバレ:いです)。
Gmailウィンドウにパネルを追加するためのchrome拡張機能を作成する方法
直面する最大の長期的な課題は、Gmailのレイアウトが予期せず変更され、電子メールの検出または変更されたUIが破損することです。どちらの問題も、解決するためにいくらかの賢さを必要とするか、Googleが突然拡張機能を壊すかどうか疑問に思って夜中に起きなければなりません。
http://www.jamesyu.org/2011/02/05/introducing-gmailr-an-unofficial-javscript-api-for-gmail/
それらはすべて、同様の機能を備えた複雑なAPIを構築しています。Gmailがアプリの構造を大幅に変更する場合(必然的に変更する場合)は、すべて独立して機能します。
Gmailはコードをクロージャーコンパイラーで実行するため、すべてが難読化されます。それに加えて、Gmailはおそらく最も洗練されたJavaScriptアプリの1つです。
Parseの創設者によるライブラリ- https://github.com/jamesyu/gmailr -しかし、1.5年後に更新されていません。
これまでに得たものを表示できますが、.oh.J-Z-I.J-J5-Ji.T-I-ax7
注: http://anurag-maher.blogspot.co.uk/2012/12/developing-google-chrome-extension-for.html(彼もやる、彼はそのような難読化されたセレクタも使用しています)
"content_scripts": [
{
"matches": ["https://mail.google.com/*"],
"css": ["mystyles.css"],
"js": ["jquery-2.1.0.js", "myscript.js"]
}
]
var icon = jQuery(".oh.J-Z-I.J-J5-Ji.T-I-ax7")
var clone = icon.clone();
clone.attr("data-tooltip", "my tooltip");
clone.on("click", function() {
jQuery(".aDg").append("<p class='popup'>... sample content ...</p>");
});
icon.before(clone);
(既存のUI要素を再利用して、機能がネイティブに見えるようにする)
https://developers.google.com/gmail/gadgets_overview
サイドバーガジェットとコンテキストガジェットがありますが、私が達成したいものを提供しません。
Gmail Labsは、ゴールデンタイムの準備が整っていない実験的な機能のテスト場です。それらはいつでも変更、破損、消滅する可能性があります。
https://groups.google.com/forum/#!forum/gmail-labs-suggest-a-labs-feature Gmail Labsの開発機能はGoogleの従業員に限定されているようです。
https://developers.google.com/gmail/
助けが必要? gmailタグの下のStack Overflowをご覧ください。
(「類似の質問」の多くをレビューしましたが、ここでの選択肢は限られていると思いますが、私にあなたの啓蒙を捧げたら非常に幸せです)
gmail.js プロジェクトにつまずいていないようです。 Gmailでの作業を可能にする豊富なAPIを提供します。ただし、このプロジェクトはGoogleによって管理されていないことに注意してください。つまり、Gmailの変更は拡張機能に影響を与える可能性があり、だれもがこれらの変更に対処するためにgmail.jsの更新を気にするという保証はありません。
Gmail DOMとやり取りするための素晴らしいAPIがここにあります:
https://www.inboxsdk.com/docs/
入門例は、作成ツールバーにボタンを追加するのに役立ちます。
// Compose Button
InboxSDK.load('1.0', 'Your App Id Here').then((sdk) => {
sdk.Compose.registerComposeViewHandler((composeView) => {
composeView.addButton({
title: 'Your Title Here',
iconUrl: 'Your Icon URL Here',
onClick: (event) => {
event.composeView.insertTextIntoBodyAtCursor('This was added to the message body!')
}
})
})
})
Square Engineering Teamからこのブログ投稿に出会いました http://corner.squareup.com/2014/09/a-different-kind-of-scaling-problem.html
これはchrome拡張機能であり、ユーザーがメール連絡先にカーソルを合わせたときにGmailのサイドバーに連絡先情報を表示します。(Rapportiveのように)
アプリのコンテンツスクリプトについて簡単に説明します。それは次のように機能します:
現在のページが_document.location.href != currentUrl
_を使用して開いているメールかどうかを確認します(これを実現するにはgmail.js gmail.observe.on("open_email",function())
を使用することもできます)。
電子メールアドレスを含むDOM要素を取得します。このセレクターは送信者に対して機能することがわかりました:$(".acZ").find(".Gd")
injectProfileWidget()
を使用してサイドバーに要素を挿入します
Mixpanel here から取得した連絡先情報を表示する同様の拡張機能に取り組んでいます。