はじめに
毎日のルーティーン業務をToDoリストで管理したいけど,毎日登録するのは面倒くさい,かと言って明日以降のタスクを登録してしまうと大事なタスクが埋もれてしまって困る.
こういった経験のある方はいらっしゃいませんか?
私は大学生なのでレポート〆切やバイトの重要書類提出をToDoリストで管理することが多いです.そこに日々のちょっとしたタスクも追加したいけど,本当に重要なレポート〆切のタスクが埋もれてしまうのは嫌だなと感じます.
そこでGoogleToDoリストとGoogleAppsScriptを使って毎日のちょっとしたタスクを当日に自動登録できるスクリプトを作成しました.
実装例
大学生の毎日のタスク(笑)という感じではありますが,よくある事例としてソシャゲのログインボーナスをこなすみたいなものって実行時間は数分なのにやり始めるまでのハードルが高いみたいなことは有り得ると思います.私は野球のソフトバンクホークスが好きで,タカポイントというアプリがあるんですね.毎日ミニゲームをしたら観戦チケットと交換できるポイントが貯めれて,これを毎日すれば年間4回くらいタダで観戦できるくらいには貯まります.でも,やり忘れるんです(笑)
そこでこのミニゲームをするというタスクを毎日ToDoリストに追加できてたらいいなと思いました.毎日9時に定期実行して登録する.GoogleToDoはGoogleカレンダーに同期されるので,その日のタスクはカレンダー上に表示される仕組みです.
実行方法
1.Googleドライブ→新規→その他→GoogleAppsScript
ここにサンプルコードをコピペしてください.
2.サービス→Tasks APIを有効にしておいてください.
3.自身のToDoリストIDを取得してサンプルコードにコピペしてください.
4.最後に毎日実行のトリガーを設定すればOKです.
まとめ
今回は私のしょうもないミニゲームを例にあげましたが,
・毎朝メールを確認する
・朝会に参加する
・筋トレをする
・ログインボーナスを管理する
などなど色々な用途に使えるかなと思います.
私はタスクとして目に留まるとそれを終わらせなきゃという衝動が生まれるタイプなので自動登録させるのはとても有効でした.参考にしていただければ幸いです.
サンプルコード
function createDASH() {
// 自分のGoogleToDoリストID
const listId = '###############';
// タスクタイトル
const taskTitle = 'ふうさんDASH';
// 日付定義
const today = new Date();
today.setHours(23, 59, 59, 999);
// 日付を日時へ変換
const dueDate = today.toISOString();
// タスク定義
const task = {
title: taskTitle,
due: dueDate
};
// タスクを追加
const newTask = Tasks.Tasks.insert(task, listId);
Logger.log('Task created: %s', newTask.title);
Logger.log('Task ID: %s', newTask.id);
}