libro
www.tuyano.com
初心者のためのGoogle Apps Scriptプログラミング入門

タスクリスト(TO DO)の利用 (4/6)

作成:2012-06-24 10:34
更新:2012-06-24 10:34

■Taskオブジェクトの情報

取得したTaskオブジェクトには、タスクに関する様々な情報を扱うためのメソッドが用意されています。これも以下に主なメソッドを整理しておきましょう。

●IDの利用
変数 = 《Task》.getId();
《Task》.setId( 新しいID );
TaskオブジェクトのIDは、「geId」で取得されます。また「setId」で変更することもできます。が、TaskListと同様、これはIDなので軽々に変更すべきではありません。

●タイトルの利用
変数 = 《Task》.getTitle();
《Task》.setTitle( 新しいタイトル);
タスクリストに一覧表示されている各タスクのテキストが「タイトル」です。getTitleは、このタイトルテキストを取得します。またsetTitleにより、引数のテキストをタイトルに設定できます。

●ノートの利用
変数 = 《Task》.getNotes();
《Task》.setNotes( 新しいノート);
タスクの詳細を編集で、更に詳しい内容を記述できるようになりますが、この部分がノートです。getNotesでノートのテキストを取得し、setNotesで引数のテキストに変更できます。ノートを設定していない場合はnullになります。

●ステータスの利用
変数 = 《Task》.getStatus();
《Task》.setStatus( 新しいステータス );
ステータスというのは、そのタスクの状況を示す値です。これはまだ終了していなければ「needsAction」、チェックして終了しているなら「completed」という値になります。getStatusでステータスの値を取得し、、setStatusで変更できます。注意すべきは、この2つのテキストのいずれかの値に設定する必要がある、という点です。

●タイムスタンプを利用する
変数 = 《Task》.getDue();
《Task》.setDue( 新しいタイムスタンプ );
タスクは、予定の日付を設定することができますが、これを示す値がDueです。getDueで値を取得し、setDueで変更できます。このDueの値は、Dateオブジェクトなどではなく、RFC3339タイムスタンプという形式のテキストになります。「2012-06-23T06:01:38.000Z」というような形式ですね。このDueはオプション設定ですので、タスクによっては値が存在しない(つまりnull)こともあります。

●終了日時を利用する
変数 = 《Task》.getCompleted();
《Task》.setCompleted( 新しいタイムスタンプ );
タスクには、終了した時の日時の情報が保管されています。それがCompletedの日時です。getCompletedで日時を取得し、setCompletedで設定できます。この値は、Dueと同様、RFC3339タイムスタンプの形式となります。また、当たり前ですがステータスがcompletedなものにのみ値が保管され、まだ終了していない(needsAction)ものにはありません。


これらの主なプロパティを扱うためのメソッドが理解できれば、タスクの基本情報はだいたい操作することができるでしょう。以下に、簡単な利用例を挙げておきます。最初のタスクリストに保管されているタスクをログに出力するものです。タスクの内容がほぼすべてまとめて取り出せることがわかるでしょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

function gettask(){
  var listitems = Tasks.Tasklists.list().getItems();
  var item = listitems[1];
  var id = item.getId();
  var taskitems = Tasks.Tasks.list(id);
  var items = taskitems.getItems();
  for (var i in items){
    var itemid = items[i].getId();
    var title = items[i].getTitle();
    var note = items[i].getNotes();
    var status = items[i].getStatus();
    var due = items[i].getDue();
    var comp = items[i].getCompleted();
    Logger.log(due + "::" + title + " " + note + " [" + status + "]" + comp);
  }
}

※関連コンテンツ

「初心者のためのGoogle Apps Scriptプログラミング入門」に戻る