我正在尝试制作一个小的 Google 脚本,它会在搜索我的 GMail 电子邮件后自动将 Google Tasks 添加到“我的列表”TaskList
。
除了添加一个指向从中生成 Task
的电子邮件的链接外,一切正常。尝试遵循 API 文档并没有多大帮助。
这是实际任务生成器函数的代码:
function addTask(taskListId, myTitle, myEmailLink) {
var task = Tasks.newTask(); // effectively same as "= {}".
task.title = myTitle
task.notes = 'blank';
task.links = [{}]
task.links[0].description = 'Link to corresponding email';
task.links[0].type = 'email';
task.links[0].link = 'myEmailLink';
task = Tasks.Tasks.insert(task, taskListId);
}
知道为什么我收到的任务没有链接
吗?
最佳答案
正如其他人所指出的,根据 Google Tasks API Documentation 不幸的是,链接集合是只读的。
作为一种潜在的解决方法,您似乎可以将链接添加到任务的注释部分,然后可以直接从 GMail 的任务 Pane 中单击这些链接。
Picture: Task with clickable link
可以修改您的函数以将链接放在注释部分,如下所示:
function addTask(taskListId, myTitle, myEmailLink) {
var task = Tasks.newTask(); // effectively same as "= {}".
task.title = myTitle
task.notes = 'link: ' + myEmailLink;
task = Tasks.Tasks.insert(task, taskListId);
}
将其与 getPermalink() 相结合GmailApp
threads 对象上的函数允许获取指向您正在查找的电子邮件的深层链接。
Picture: Task with permalink to email
我正在编写一组脚本,除了做一些其他事情外,还可以做一些你正在谈论的事情:https://github.com/tedsteinmann/gmailAutoUpdate
在我的解决方案中,我有一个函数可以获取带有特定标签的 GMail 线程(在我的例子中是 @Task),然后创建一个任务,将主题设置为 thread.getFirstMessageSubject()
和注释到 thread.getPermalink()
整个函数如下所示:
function processPending_() {
var label_pending = GmailApp.getUserLabelByName(LABEL_PENDING);
var label_done = GmailApp.getUserLabelByName(LABEL_DONE);
// The threads currently assigned to the 'pending' label
var threads = label_pending.getThreads();
// Process each one in turn, assuming there's only a single
// message in each thread
for (var t in threads) {
var thread = threads[t];
// Grab the task data
var taskTitle = thread.getFirstMessageSubject();
var taskNote = 'Email: ' + thread.getPermalink();
// Insert the task
addTask_(taskTitle, taskNote, getTasklistId_(TASKLIST));
// Set to 'done' by exchanging labels
thread.removeLabel(label_pending);
thread.addLabel(label_done);
}
// Increment the processed tasks count
Logger.log('Processed %s tasks', threads.length);
}
关于google-apps-script - 新创建的 Google Task 省略了提供的 "TaskLink"属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50087830/