rcmdnk's blog

20151124_menubargmailshow_200_200

MenuBarGmail で出来そうな事を追加して 取り敢えずメールを送れる様にしてみました。

MenuBarGmailrumps というライブラリを使って作ったMacのメニューバーアプリです。

Gmail API を使ってGmailの未読数をメニューバーに表示したり 新着メールをお知らせしたりするのが目的です。 同じようなアプリはいくつかありますが、取り敢えずrumpsを使って 簡単に作れそうだったので自分で作ってみた、と言う所。

他のアプリにはない機能として ラベルを指定したり(複数可)、フィルタを設定したりして メールを絞って未読数を見ることが出来ます。

追加機能

最初は取り敢えず未読数を取ってくるだけでしたが、 今回はメールを既読にしたり、 返信したりする機能を付けてみました。

メニューバーから各メールの題名や内容の部分をクリックすると ブラウザで表示する代わりにまず

20151124_menubargmailshow.jpg

こんな感じのウィンドウが出る様になりました。

ここで Mark as readを押せば既読になります。

また、Replyを押すと

20151124_menubargmailsend.jpg

こんな感じの送信用ウィンドウが出ます。

編集後にSaveを押せば下書きに保存されます。 Sendを押せば送信出来ます。

この辺り、送信などもGmail APIを使うと簡単に出来ます。

Users.messages: send

上のマニュアルには Java、.NET、PHP、Python、JavaScript の例が載ってますが、これをそのまま使うだけで十分使える様になります。

ただ、この送信画面がまだ全然ダメで、 テキストエリアに関して、まず元の文章によってはエラーが出て表示が出来ない事があります。

また、改行を入力するにはEnterを押してはダメで(押すとCancelボタンを押したことに鳴ってしまう) -Enterをする必要があります。 その上、改行を入れると保存時、送信時にエラーが出ることがありあます。

なので今のところこれは全く実用的ではありません。。。

どうもrumpsの入力画面が複数行を使えるようなものになっていないみたいで、 この部分をいじる必要がありそうです。

また、Gmailにはエイリアス機能 1 という物があって 他のメールアドレスとして送る事が出来ます。

複数のメールをGmailに転送して使っている様な場合には必須です。

送信機能をつけるに辺り、 このエイリアスの情報を取ってきたかったのですが、 どうもGmail APIでは出来ないみたいです。

Users: getProfile

これだとメールアドレスとトータルメール数くらいしか取れない。

Google AppsのEmail Settings API にはエイリアスを取得する機能があるのですが、 こちらはGoogle Appsのものなので普通のGmailのものとしては使えません。

どうやら今のところはエイリアスをGmail APIで取ってくるのは無理なようで、 エイリアスが設定されていれば自分でFromに書くことで使う事は可能な様です。

Retrieving Send-as settings from Gmail Account: http://findsupport.xyz/question/31145696/retrieving-send-as-settings-from-gmail-account

google oauth - Gmail Api send from alias - Stack Overflow

gmail - Get all email addresses of user using Google API - Stack Overflow

この辺のFromやToを変更するダイアログを作るだけなら 簡単なので追加することは出来ますが、 取り敢えずメールの本体をまともに書けない状態なので、 ウィンドウごと自分で作るようにして、 その中でToやFromも編集できる様にするべきかな、と言った感じ。

まとめ

取り敢えず形としてメールを送信したり 出来るようにはなりましたが、 まともに使える様にするにはrumpsだけだと限界かな、と。

送信ウィンドウをちょっと自作すれば良い感じにまとまるので そのくらいまではやってみようかな。

Sponsored Links
Sponsored Links

« rumpsとGmail APIを使ってMacのGmailメニューバーアプリを作ってみた Font Awesome 4.5.0リリース »

}