🐈
GASでtasksの内容をLINE Notifyを使って送信する方法
GASでtasksの内容を取得してアウトプットする方法
以下のコードを利用するとGASでtask内容を取得して、LINE Notifyへ送信することができます。
テンプレとなっていますので、tokenの部分だけご自身のトークンに直してください。
送信するためのコード
function getTaskLists() {
let taskLists = Tasks.Tasklists.list().getItems();
if (!taskLists) {
return [];
}
return taskLists.map(function(taskList) {
return {
id: taskList.getId(),
name: taskList.getTitle()
};
});
}
function getTasks(taskListId) {
let tasks = Tasks.Tasks.list(taskListId).getItems();
if (!tasks) {
return [];
}
return tasks.map(function(task) {
return {
id: task.getId(),
title: task.getTitle(),
notes: task.getNotes(),
completed: Boolean(task.getCompleted())
};
}).filter(function(task) {
return task.title;
});
}
function getTask(){
const myTaskLists = getTaskLists();
let text = '';
const bar = '\n================\n';
for(let j =0 ; j < myTaskLists.length; j++){
let myList = getTasks(myTaskLists[j].id);
let name = "\n" + myTaskLists[j].name + "\n";
let myTasks = getTasks(myTaskLists[j].id);
for(let i =0 ; i < myTasks.length; i++){
var title = myTasks[i].title + "\n";
text += title;
}
text += bar;
}
return text;
}
function sendToLine(text){
// 自身のトークンに置き換える
let token = 'XXXXXXXXXXXXXXXXX';
let options =
{
"method" : "post",
"payload" : "message=" + text,
"headers" : {"Authorization" : "Bearer "+ token}
};
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
function main(){
let text = getTask();
sendToLine(text);
}
実行する関数はmainです。
GASでLINE Notifyでメッセージを送る方法
上記でtokenを置き変える場所があったと思いますが、下記を参考にTokenの取得をしましょう。
Discussion