Googleカレンダーに専用カレンダーを追加して
マイカレンダーの設定を開くと「カレンダーID」があります

予定の追加
function addCalendarEvent() {
// カレンダー ID を指定。通常は 'primary' でメインカレンダーを指します。
var calendarId = 'カレンダーID@group.calendar.google.com';
// 予定の詳細
var eventTitle = 'ミーティング';
var eventDescription = 'プロジェクトの進捗確認ミーティング';
var eventLocation = '会議室A';
var startTime = new Date('2025-01-15T10:00:00');
var endTime = new Date('2025-01-15T11:00:00');
// 予定の作成
var event = CalendarApp.getCalendarById(calendarId).createEvent(eventTitle, startTime, endTime, {
description: eventDescription,
location: eventLocation
});
Logger.log('イベントを作成しました: ' + event.getId());
}
問題なく予定追加できました^^
予定の取得
function getCalendarEvents() {
var calendarId = '@group.calendar.google.com';
// 取得期間を設定(例:今後14日間)
var now = new Date();
var oneWeekLater = new Date();
oneWeekLater.setDate(now.getDate() + 14);
// イベントを取得
var events = CalendarApp.getCalendarById(calendarId).getEvents(now, oneWeekLater);
// イベント情報をログに出力
events.forEach(function(event) {
Logger.log('タイトル: ' + event.getTitle());
Logger.log('開始時刻: ' + event.getStartTime());
Logger.log('終了時刻: ' + event.getEndTime());
Logger.log('説明: ' + event.getDescription());
Logger.log('場所: ' + event.getLocation());
Logger.log('---');
});
}先ほど入力したものを取得できました
予定の削除
// getCalendarEvents
events.forEach(function(event) {
Logger.log('タイトル: ' + event.getTitle());
Logger.log('開始時刻: ' + event.getStartTime());
Logger.log('終了時刻: ' + event.getEndTime());
Logger.log('説明: ' + event.getDescription());
Logger.log('場所: ' + event.getLocation());
Logger.log('---');
// ミーティングを削除
if(event.getTitle().match(/ミーティング/)){
deleteCalenderById(calendarId, event.getId());
}
});
}
function deleteCalenderById(calendarId, eventId){
var event = CalendarApp.getCalendarById(calendarId).getEventById(eventId);
if (event) {
event.deleteEvent();
Logger.log('イベントを削除しました: ' + eventId);
}
}
削除できました!
マイタスク作成
マイカレンダーのようにマイタスクを作成します

カレンダーの右上のスイッチで「ToDoリスト」に変更

新しいリストを作成でtaskdevを作成しました
タスクIDの取得
ブラウザで見てもタスクIDがわからない…
function getTaskLists() {
// タスクリストを取得
var taskLists = Tasks.Tasklists.list();
// タスクリストが存在する場合、一覧をログに出力
if (taskLists.items && taskLists.items.length > 0) {
taskLists.items.forEach(function(taskList) {
Logger.log('タスクリストID: ' + taskList.id);
Logger.log('タスクリスト名: ' + taskList.title);
Logger.log('---');
});
} else {
Logger.log('タスクリストが見つかりません。');
}
}実行しても Tasks is not defined.
となり、Google 拡張サービスを追加しないとだめでした
Google 拡張サービスを追加
↓スクリプトの左メニューで「サービス + 」です。画像は既にTasksが入っているので表示されています。


Tasks APIを選択して追加

こんな感じで承認画面に権限タスクの表示が加わりました。
追加、取得と進めていくと [ すべてのタスクの作成、編集、整理、削除 ]の承認が必要になります
タクスを追加、取得、削除
上のgetTaskListsで取得した tasklistidを使用します
function addTask() {
var taskListId = 'RnFJbxxxxxxxlE2Qg'; // デフォルトのタスクリストを使用
var task = {
title: '新しいタスク',
notes: 'タスクの詳細説明',
due: (new Date('2025-01-20')).toISOString() // 期限日
};
var createdTask = Tasks.Tasks.insert(task, taskListId);
Logger.log('タスクを作成しました: ' + createdTask.id);
}
function getTasks() {
var taskListId = 'RnFJbXlLZ0lnMG43blE2Qg'; // デフォルトのタスクリストを使用
var tasks = Tasks.Tasks.list(taskListId);
if (tasks.items && tasks.items.length > 0) {
tasks.items.forEach(function(task) {
Logger.log('タスクID: ' + task.id);
Logger.log('タイトル: ' + task.title);
Logger.log('メモ: ' + task.notes);
Logger.log('期限日: ' + task.due);
Logger.log('完了状態: ' + (task.status === 'completed' ? '完了' : '未完了'));
Logger.log('---');
});
} else {
Logger.log('タスクがありません。');
}
}
function deleteTask() {
var taskListId = '@default'; // デフォルトのタスクリストを使用
var taskId = 'your-task-id'; // 削除したいタスクの ID を指定
try {
Tasks.Tasks.remove(taskListId, taskId);
Logger.log('タスクを削除しました: ' + taskId);
} catch (e) {
Logger.log('タスクの削除に失敗しました: ' + e.message);
}
}タスクを完了にする
function completeTask() {
var taskListId = 'Rn111111111111g'; // デフォルトのタスクリストを使用
var taskId = 'VXF2222222222dw'; // 完了させたいタスクの ID を指定
// タスクを取得
var task = Tasks.Tasks.get(taskListId, taskId);
if (task) {
task.status = 'completed';
var updatedTask = Tasks.Tasks.patch(task, taskListId, taskId);
Logger.log('タスクを完了にしました: ' + updatedTask.id);
} else {
Logger.log('指定されたタスクが見つかりません: ' + taskId);
}
}
無事完了しました!


コメント