Google Apps Scriptを使い始めてまだ間がないのですが、検索していると同じGoogleのサービスであるGmailを使ったプログラムが楽にできるようです。また、さらに検索しているとCronのように定期的に実行する指定も簡単にできそうです。
となるとちょっと試してみたくなりましたので、簡単なスクリプトを作ってみました。
スクリプトだけを新しく作ってみる
今まで2回、Google Apps Scriptについてblogに書きました。
Google Apps ScriptでGoogleスプレッドシートを開いたときに利用するセルに移動
Google Apps Scriptでスプレッドシートを開いたとき今月のセルに移動
これらはGoogleスプレッドシートを操作するものでした。今回は純粋にプログラムだけを書くのでどうすればいいかな?と思いましたがググって方法を知りました。
https://www.google.com/script/start/
こちらのページで2カ所ある
Start Scripting というボタンのどちらかをクリック
ログイン画面になります。ここでメールアドレスが表示されて次へでパスワードを入力する場合と、この画面のように既にメールアドレスが表示されている場合はパスワードを入れてログインするか、表示中のアカウントとは別のアカウントでログインしたい場合は 別のアカウントでログイン をクリックして、ログインします。
ログインできると
このようにGoogle Apps ScriptのEditor画面になりますので、ここでコーディングをしていきます。
gmailの指定したラベルの未読件数を取得して、メールを送る
gmailの指定したラベルの未読件数を取得してメールを送るスクリプトを書いてみます。ここで対象となるgmailは先ほどログインしたメールアドレスのgmailとなります。
無題のプロジェクト をクリックして
プロジェクト名を入力して OK をクリック
MyFunctionの中身を
function myFunction() { var label = GmailApp.getUserLabelByName("___2nd"); var mailCount = label.getUnreadCount(); var mailBody = 'ラベル:___2nd の未読件数は' + mailCount + 'です。'; MailApp.sendEmail( "xxxx@example.com",// 送信先メール "___2nd 未読件数",// メール件名 "", { htmlBody: mailBody } ); }
このようにしてみます。
var label = GmailApp.getUserLabelByName("___2nd");
で、
自分で作成した ___2nd というラベルを取得します。その後、そのラベルの未読件数を取得して、メールの本文を編集。
MailApp.sendEmail で宛先メールアドレス、メールタイトル、メール本文 を指定してメールを送信します。
保存 をクリックして、
実行 をクリック。実行の最初の1回だけ承認が必要になります。
続行 をクリック
許可 をクリック
これでスクリプトが実行されます。
gmailを見ると、
このように指定したラベルの未読件数がメールで届いていました(^^)/
作ったスクリプトを定期的に実行する
このスクリプトを定期的に実行しようと思います。
スクリプトエディターの上部に
現在のプロジェクトのトリガー というボタンがあるのでクリックします。
* トリガーというのは「引き金」のことで、プログラムでこの言葉を使う場合は「なにをきっかけに動かすか」というようなときに使います。
このように表示されるので トリガーが設定されていません。今すぐ追加するにはここをクリックしてください。 というリンクをクリック
このようにトリガーを指定する画面が出ます。
1時間に1回実行したいので、この表示されたままで条件はOKです。
時タイマーの他に 特定の日時、分タイマー、日タイマー、週タイマー、月タイマー が選べるようです。
間隔も1時間毎の他に 2,4,6,8,12時間毎に指定ができるようです。
保存 をクリック
これでCronのように定期的に実行する指定ができました。
数時間後に見てみると、
こんな感じに、最初に実行した時間から1時間おきにメールが届いているのがわかります。
たとえば、メールの送信先をSMSなどにして携帯に届くようにしておけば外出中に重要なメールが届いたときにいつでも分かるようにという仕組みが作れますね(^^)/
定期的に実行するスクリプトをやめるとき
定期的に実行するスクリプトを使わなくなったときに、このファイルを
削除します。
ゴミ箱に入ります。
と、これでいいかな?と思うのですがゴミ箱に入れてから1時間後に見てみると
以前と同じように通知が来ていました(^_^;。
検索したページにゴミ箱に入っていても定期的に実行されるという記事があったので、試してみたら本当にゴミ箱に入った状態だとまだ動いてしまうようです。
これを止めるには、ゴミ箱の一覧で
完全に削除 をクリックし
完全に削除 をクリックして削除する。
もしくは先ほどの
この画面で、左側にある × をクリックすると
最初と同じ表示になり、この時点で定期的な実行をしないようになります。
Google Apps Scriptで参考になるサイト
今回参考にさせていただいたサイトは、
です。公式マニュアルのようなものは英語しかないので(^_^;、ちょっと困ってこちらを見つけました。
こちらは日本語で書いてあることはもちろん、内容が網羅的にあり、サンプルスクリプトもあるのでとても助かりました。
[amazon_searchlink search=”google apps script”]
コメント