G Suite 用户最近可以访问集成的 Gmail 界面。在此界面中,Google Chat 的聊天室现在拥有自己的任务集成
是否有人找到通过 API 访问和处理这些聊天室任务的资源。我对使用 Apps 脚本特别感兴趣。
我刚刚在我的任务列表上运行了列表 API 调用,我只能看到我直接在 Google 任务中创建的列表。没有迹象表明与我的 Google 聊天室相关的列表。
不幸的是,截至 2023 年 11 月,Google 尚未提供用于访问 Google Chat 聊天室中的任务的直接 API。鉴于已经过去了 3 年,它不太可能会出现。
但是,您可以通过更手动的方法来实现这一点。以下是使用 Google Chrome 开发者工具从 Google 聊天室提取任务并处理提取的数据的解决方法:
在聊天室加载任务:
检查元素:
Ctrl
+ Shift
+ I
)。div
容器。就我而言,我对已完成的任务感兴趣,并发现容器如下(类名称可能会更改):
<div class="li8wVd" jsname="rymPhb" role="list" aria-label="Completed tasks" tabindex="-1" style="">
复制外部 HTML:
tasks.html
。提取任务信息:
xidel
提取任务信息:
$ xidel tasks.html --extract "for $label in /html/body/div/div/div/@aria-label return replace($label, '\n', '-') " > tasks.txt
处理提取的数据:
tasks.txt
以获取您想要的格式的数据。例如,要获取以制表符分隔的受让人列表,后跟任务描述,您可以使用:
$ sed 's/\(.*\)assigned to \(.*\)/\2\t\1/' tasks.txt
$ grep assigned.to tasks.txt | sed 's/\(.*\)assigned to \(.*\)/\2\t\1/' | awk -F $'\t' '$1== "John Smith" {print $2;}'
注意: 就我而言,在 710 个任务中,有 2 个任务在提取的数据中缺少受让人,即使它们在 Web 界面上有受让人。这种异常可能会影响数据处理,因此您可能需要相应地检查和清理数据。
这种方法有点麻烦,可能不太理想,但在没有直接 API 访问 Google 聊天室任务的情况下,这是一种解决方法。