GASでGoogle ToDoリストにデイリーミッションを追加する
2021/03/15
タイトルがちょっと何言ってるかわからないかもしれない
毎日の自己研鑽タイムでやることが最近偏ってきてるなと思ったので、やることをランダムで決めてもらうことにした
そのプロトタイプ的なものをGASで作ってみた
仕様
- 毎日Tasks APIを使って4つ選んでToDoリストに追加する
- 前日分の消化していないミッションは最初に消す
コード
function myFunction() {
const list_id = 'hogehoge';
const missions = [
'読書',
'エンジニア学習',
'英語学習',
'ブログ活動',
'筋トレ',
'ウォーキング'
]
const response = Tasks.Tasks.list(list_id)
const tasks = response.items
if(tasks) {
tasks.forEach(function(task){
Tasks.Tasks.remove(list_id, task.id)
});
}
sample(missions, 4).forEach(function(mission){
Tasks.Tasks.insert({ title: mission }, list_id)
});
}
function shuffle([...array]) {
for (let i = array.length - 1; i >= 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}
function sample(array, num) {
return shuffle(array).slice(0, num);
}
結果
補足
list_id(リストID)はTasks.Tasklists.list()
で取得できる
Logger.log(Tasks.Tasklists.list());