允许其他人添加Google任务

时间:2012-06-04 03:45:04

标签: google-apps-script google-tasks-api google-tasks

我正在寻找员工向我发送电子邮件或向电子表格添加信息的方式,然后将电子表格添加到我的任务列表中。理想情况下,脚本将捕获任务列表,任务,截止日期和任何注释。

我已经成功实施了五个脚本(五个任务列表),允许我的员工按照下面显示的脚本向特定任务列表添加任务。这工作正常,但没有能力添加截止日期或备注:

Automated email to task list API

我最近遇到了监视任务列表的脚本的引用,然后将它们发布到电子表格,包括任务,截止日期,备注等。这让我觉得电子表格可能是更好的方法,尽管它没有电子邮件的便利:

Task list to spreadsheet API

我想知道REVERSE是否可以完成。我设想了一个电子表格,我可以让我的员工访问,有两个工作表(NEW和PROCESSED)和列:

TASKLIST   TASK   DUE DATE   NOTES

并且脚本将每隔一两个小时运行一次。 NEW中的任何内容都将被处理并添加到我的任务列表中,然后移至PROCESSED的末尾。

有没有人知道那样的东西?或者,也许有一些方法可以更改电子邮件脚本,以便将电子邮件正文中的任何内容移动到任务的NOTES部分。我是这个BTW的原始新手。感谢。

3 个答案:

答案 0 :(得分:0)

你应该更换
var newTask = Tasks.newTask().setTitle(title);
通过
var newTask = Tasks.newTask().setTitle(title).setDue(date).setNotes(notes);

我也陷入困境

我可以从电子表格中找到: - 创建一个新的任务列表 - 在专用任务列表中创建新任务(包括截止日期和备注)

我可以从Gtasks: - 检查任务是否完成,并在电子表格中将其标记为已完成 - 检查电子表格中是否仍存在任务,并在必要时将其删除

我仍然在寻找一种在电子表格中关闭GTasks时完成任务的方法

答案 1 :(得分:0)

您可以使用所有功能来完成此操作,但我不知道是否有预先构建的脚本可以执行您想要的操作。您可能希望使用将数据保存到电子表格的Google表单,然后为表单提交创建一个触发器,用于挖掘数据并使用它创建新任务。

答案 2 :(得分:0)

这是您正在寻找的[部分]吗?

https://developers.google.com/apps-script/articles/google_apis_reading_list

它将基于电子表格的任务列表与您的常规任务列表同步,如果您在gmail中标记了该任务,则会将其记录回电子表格中。

//获取要保持同步的URL列表   var articleUrls = SpreadsheetApp.getActiveSheet()。getRange(“A2:A”);   for(var rowNum = 0; rowNum< articleUrls.getNumRows(); rowNum ++){

// Limit our range to a single cell containing a URL
var oneUrlCell = articleUrls.offset(rowNum, 0, 1, 1);  
if (oneUrlCell.getComment() === "") {
  // This is a new URL that needs to be shortened/inserted
  var urlText = oneUrlCell.getValue();
  if (urlText !== "") {
    // Shorten the URL
    Logger.log("Adding task for url: " + urlText);
    var toShorten = UrlShortener.newUrl().setLongUrl(urlText);
    var shortened = UrlShortener.Url.insert(toShorten);

    // Insert the shortened URL into our reading list
    var taskToInsert = Tasks.newTask().setTitle(shortened.getId());
    taskToInsert.setNotes(urlText);
    var newTask = Tasks.Tasks.insert(taskToInsert, readingListId);

    // Save the new ID as our comment.
    oneUrlCell.setComment(newTask.getId());
  }
} else {
  // This URL has already been inserted, update the status
  var existingTask = Tasks.Tasks.get(readingListId, oneUrlCell.getComment());
  if (existingTask.getStatus() === "completed") {
    var absRowNum = oneUrlCell.getRow();
    var completedCell = sheet.getRange(absRowNum, 2);
    completedCell.setValue("Yes");
  }
}

应该是解决方案的一部分,不是吗?

我希望自己做一些更大的事情。