Gmailにアクセスする (7/7)
作成:2011-07-13 08:25
更新:2011-11-04 16:42
更新:2011-11-04 16:42
■GmailLabelオブジェクトについて
最後になりましたが、「ラベル」に関する機能についても整理しておきましょう。ラベルは、「GmailLabel」というオブジェクトとして用意されています。ラベルの設定などに関する機能は、このオブジェクトにまとめられています。
が、ラベルそのものを作る処理は、GmailLabelにはありません。これはGmailAppに用意されているメソッドを呼び出すことになります。先にGmailAppのところで一応紹介しておきましたね。
そして、ラベルをつけたり取り除いたり、またラベルの付けられたスレッドを調べたりするメソッドは、GmailLabel内に用意されます。これらについて整理しておきましょう。まずは基本である、ラベルの追加/除去からです。
・スレッドにラベルを追加する
・スレッドからラベルを取り除く
いずれもスレッド(GmailThread)オブジェクトを引数に渡します。1つのスレッドだけを設定するものと、複数のスレッドを配列でまとめて設定するものが用意されています。メソッド名が微妙に違う(複数形のsがついている)ので注意してください。
この他、ラベルの削除や、ラベルに関する情報取得(ラベル名、スレッド、未読数など)に関するものも用意されています。
・ラベルを削除する
・ラベル名の取得
・ラベルがつけられているスレッドの取得
・未読数の取得
スレッドを取得するgetThreadsは、引数なしだと全スレッドをGmailThread配列として取得します。開始位置と最大数をそれぞれ整数で指定すると、その間のGmailThreadだけを配列で取得します。
では、ラベルを利用した簡単な例を下のリスト欄にあげておきましょう。受信ボックスから、タイトルに「テスト」を含むスレッドを調べ、それら全てに現在の日時のラベルを追加します。こんな具合に、必要に応じて新しいラベルをダイナミックに生成して必要なスレッドに設定する、といったことができると、メールの整理もずいぶんとしやすくなるでしょう。
――これで、Gmailの利用の基本についてざっと説明をしましたが、「あれ? 連絡先とかはないの?」と思った人もいるかも知れません。連絡先は、「Googleコンタクト」という別のサービスで管理されています。これについては、いずれ改めて触れる予定です。
が、ラベルそのものを作る処理は、GmailLabelにはありません。これはGmailAppに用意されているメソッドを呼び出すことになります。先にGmailAppのところで一応紹介しておきましたね。
変数 = GmailApp.createLabel( テキスト );createLabelは、引数に指定したテキストのラベルを作成し、GmailLabelオブジェクトを返します。deleteLabelは、引数に指定したGmailLabelのラベルを削除します。これらでラベルの作成/削除は行えますね。
GmailApp.deleteLabel( ラベル );
そして、ラベルをつけたり取り除いたり、またラベルの付けられたスレッドを調べたりするメソッドは、GmailLabel内に用意されます。これらについて整理しておきましょう。まずは基本である、ラベルの追加/除去からです。
・スレッドにラベルを追加する
《GmailLabel》.addToThread( スレッド );
《GmailLabel》.addToThreads( スレッド配列 );
・スレッドからラベルを取り除く
《GmailLabel》.removeFromThread( スレッド );
《GmailLabel》.removeFromThreads( スレッド配列 );
いずれもスレッド(GmailThread)オブジェクトを引数に渡します。1つのスレッドだけを設定するものと、複数のスレッドを配列でまとめて設定するものが用意されています。メソッド名が微妙に違う(複数形のsがついている)ので注意してください。
この他、ラベルの削除や、ラベルに関する情報取得(ラベル名、スレッド、未読数など)に関するものも用意されています。
・ラベルを削除する
《GmailLabel》.deleteLabel();
・ラベル名の取得
変数 =《GmailLabel》.getName();
・ラベルがつけられているスレッドの取得
変数 =《GmailLabel》.getThreads();
変数 =《GmailLabel》.getThreads( 開始位置, 最大数 );
・未読数の取得
変数 =《GmailLabel》.getUnreadCount();
スレッドを取得するgetThreadsは、引数なしだと全スレッドをGmailThread配列として取得します。開始位置と最大数をそれぞれ整数で指定すると、その間のGmailThreadだけを配列で取得します。
では、ラベルを利用した簡単な例を下のリスト欄にあげておきましょう。受信ボックスから、タイトルに「テスト」を含むスレッドを調べ、それら全てに現在の日時のラベルを追加します。こんな具合に、必要に応じて新しいラベルをダイナミックに生成して必要なスレッドに設定する、といったことができると、メールの整理もずいぶんとしやすくなるでしょう。
――これで、Gmailの利用の基本についてざっと説明をしましたが、「あれ? 連絡先とかはないの?」と思った人もいるかも知れません。連絡先は、「Googleコンタクト」という別のサービスで管理されています。これについては、いずれ改めて触れる予定です。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
function setLabel(){ var dstr = new Date(); var label = GmailApp.createLabel(dstr); var thds = GmailApp.getInboxThreads(); for(var n in thds){ var thd = thds[n]; var subject = thd.getFirstMessageSubject(); if (subject.indexOf("テスト",0) != -1){ label.addToThread(thd); } } }
※関連コンテンツ
「初心者のためのGoogle Apps Scriptプログラミング入門」に戻る