18

Gmailの作成ウィンドウにボタンを追加するにはどうすればいいですか?Gmail拡張機能/ガジェットAPI - 作成ツールバーにボタンを追加するにはどうすればよいですか?

「Gmail Labs」には、「&を送信する」ボタンと「画像を挿入する」ボタンなどの特定のボタンを追加する拡張機能があります。

API hereを確認しました。左側のサイドバーにガジェットを追加するか、メッセージのコンテキストに依存するコンテキストガジェットを使用することができます。私は、作成ウィンドウのツールバーにボタンを追加する方法を探しています、そして、両方のオプションは、それをサポートしていないようです。

これはどのように行うことができますか?

Gmail APIを使用できない場合は、これを達成する別の方法がありますか?たぶん、Google Chromeの拡張機能やユーザースクリプトを作成することによって?

私は適切な方向に私を導くことができる情報をいただければ幸いです。

ありがとうございました。

+0

これに関わる作業はありますか? –

+1

私のソリューションについては、http://stackoverflow.com/a/35192213/165673を参照してください。 – Yarin

答えて

23

Gmail Labsには特別な権限があります.Google LabsはGoogle従業員によって作成されたため、特別な権限を持っています。残念ながら、私たちはこのような権限を持っていません。もちろんその周りに道があり、あなたはChrome ExtensionかUserScriptを作ることを正しく指摘しています。 Chrome拡張機能を選択した場合it will just be a wrapper for a UserScript anyway

ボタンをプログラムで作成して挿入する必要があります。これは、Gmailのソースコードを精練することをかなり必要とします(スポイラー:醜いです)。

あなたのやりたいことについての詳細がなければ、私ははるかに役立つことはできませんが、ただちに問題を1つ手伝うことができます。ちょっと難しいですが、Gmailの読み込み処理が完了するまでスクリプトを待たなければなりません。これは私が現在、ミニマリストで使用しているソリューションです。

function bootstrap() { 
    target = document.querySelectorAll('.vt:not(.SFzvCe)'); 
    if (document.querySelectorAll('html.xiu1Fc, html.aao')[0] == null) { 
     return; 
    } 
    if (target.length > 0) { 
     // loaded, do stuff 
    } else { 
     window.setTimeout(bootstrap, 200); 
    } 
} 
window.addEventListener('DOMSubtreeModified', bootstrap); 

バージョンが完全に負荷にチャットを待ちます。他のご質問がある場合はお知らせください:@anstosa

+0

非公式のAPIのためのあらゆる指針、またはGmailのユーザーインターフェイスから要素を抽出する方法はありますか? –

+3

私が知っている唯一のものはJames Yuの[Gmailr](http://www.jamesyu.org/2011/02/05/introducing-gmailr-an-unofficial-javscript-api-for-gmail/)です。私はそれを個人的に使っていませんが、私はコードを見てきました。それは非常にうまく実行されており、完全に機能しています。 –

+1

この時点で[gmail.js](https://github.com/KartikTalwar/gmail.js)は、Gmailrに触発されたより良いライブラリのように見えます。また、[chrome extension](https://github.com/KartikTalwar/gmail-chrome-extension-boilerplate)プロジェクトも開始されています。 – Yarin

関連する問題