Tasks サービス

Tasks サービスを使用すると、Apps Script で Google Tasks API を使用できます。この API を使用すると、ユーザーは Gmail でタスクを管理できます。

リファレンス

このサービスの詳細については、Tasks API のリファレンス ドキュメントをご覧ください。Apps Script のすべての拡張サービスと同様に、Tasks サービスは公開 API と同じオブジェクト、メソッド、パラメータを使用します。詳細については、メソッド シグネチャの決定方法をご覧ください。

問題の報告やその他のサポートの確認方法については、ToDo リストのサポートガイドをご覧ください。

サンプル アプリケーション

サンプル ウェブ アプリケーションの Simple Tasks は、Tasks サービスを使用して読み取りオペレーションと書き込みオペレーションの両方を行う方法を示しています。完全なソースコードは GitHub リポジトリで確認できます。

サンプルコード

以下のサンプルコードでは、API のバージョン 1 を使用しています。

タスクリストを一覧表示する

このサンプルでは、アカウントのタスクリストを一覧表示します。

advanced/tasks.gs
/**
 * Lists the titles and IDs of tasksList.
 * @see https://developers.google.com/tasks/reference/rest/v1/tasklists/list
 */
function listTaskLists() {
  try {
    // Returns all the authenticated user's task lists.
    const taskLists = Tasks.Tasklists.list();
    // If taskLists are available then print all tasklists.
    if (!taskLists.items) {
      console.log('No task lists found.');
      return;
    }
    // Print the tasklist title and tasklist id.
    for (let i = 0; i < taskLists.items.length; i++) {
      const taskList = taskLists.items[i];
      console.log('Task list with title "%s" and ID "%s" was found.', taskList.title, taskList.id);
    }
  } catch (err) {
    // TODO (developer) - Handle exception from Task API
    console.log('Failed with an error %s ', err.message);
  }
}

タスクの一覧表示

このサンプルでは、特定のタスクリスト内のタスクを一覧表示します。

advanced/tasks.gs
/**
 * Lists task items for a provided tasklist ID.
 * @param  {string} taskListId The tasklist ID.
 * @see https://developers.google.com/tasks/reference/rest/v1/tasks/list
 */
function listTasks(taskListId) {
  try {
    // List the task items of specified tasklist using taskList id.
    const tasks = Tasks.Tasks.list(taskListId);
    // If tasks are available then print all task of given tasklists.
    if (!tasks.items) {
      console.log('No tasks found.');
      return;
    }
    // Print the task title and task id of specified tasklist.
    for (let i = 0; i < tasks.items.length; i++) {
      const task = tasks.items[i];
      console.log('Task with title "%s" and ID "%s" was found.', task.title, task.id);
    }
  } catch (err) {
    // TODO (developer) - Handle exception from Task API
    console.log('Failed with an error %s', err.message);
  }
}

タスクを追加

このサンプルでは、タスクリストに新しいタスクを追加します。

advanced/tasks.gs
/**
 * Adds a task to a tasklist.
 * @param {string} taskListId The tasklist to add to.
 * @see https://developers.google.com/tasks/reference/rest/v1/tasks/insert
 */
function addTask(taskListId) {
  // Task details with title and notes for inserting new task
  let task = {
    title: 'Pick up dry cleaning',
    notes: 'Remember to get this done!'
  };
  try {
    // Call insert method with taskDetails and taskListId to insert Task to specified tasklist.
    task = Tasks.Tasks.insert(task, taskListId);
    // Print the Task ID of created task.
    console.log('Task with ID "%s" was created.', task.id);
  } catch (err) {
    // TODO (developer) - Handle exception from Tasks.insert() of Task API
    console.log('Failed with an error %s', err.message);
  }
}