Tasks 服务

借助 Tasks 服务,您可以在 Google Tasks API 中使用 Google Apps 脚本。通过此 API,用户可以在 Gmail 中管理自己的任务。

这是一项高级服务,必须先 启用才能使用

参考

如需详细了解此服务,请参阅 Tasks API 的参考文档。 与 Apps 脚本中的所有高级服务一样,Tasks 服务使用的对象、方法和参数均与公共 API 相同。如需了解详情,请参阅 方法签名是如何确定的

如需报告问题和查找其他支持,请参阅 Tasks 支持指南

示例应用

示例 Web 应用 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);
  }
}