如何通过任务 API(或其他 Google API)访问新的房间任务

问题描述 投票:0回答:1

G Suite 用户最近可以访问集成的 Gmail 界面。在此界面中,Google Chat 的聊天室现在拥有自己的任务集成

是否有人找到通过 API 访问和处理这些聊天室任务的资源。我对使用 Apps 脚本特别感兴趣。

我刚刚在我的任务列表上运行了列表 API 调用,我只能看到我直接在 Google 任务中创建的列表。没有迹象表明与我的 Google 聊天室相关的列表。

google-apps-script gmail google-workspace google-tasks-api google-chat
1个回答
0
投票

不幸的是,截至 2023 年 11 月,Google 尚未提供用于访问 Google Chat 聊天室中的任务的直接 API。鉴于已经过去了 3 年,它不太可能会出现。

但是,您可以通过更手动的方法来实现这一点。以下是使用 Google Chrome 开发者工具从 Google 聊天室提取任务并处理提取的数据的解决方法:

  1. 在聊天室加载任务:

    • 导航到相关聊天室。
    • 通过单击“加载更多”加载您感兴趣的所有任务,直到显示所有相关任务。
  2. 检查元素:

    • 打开 Google Chrome 的开发者工具(右键单击 -> 检查或
      Ctrl
      +
      Shift
      +
      I
      )。
    • 使用“选择元素”工具(看起来像光标的图标)单击任务。
    • 向上遍历 DOM,找到封装所有显示任务的最小
      div
      容器。就我而言,我对已完成的任务感兴趣,并发现容器如下(类名称可能会更改):
      <div class="li8wVd" jsname="rymPhb" role="list" aria-label="Completed tasks" tabindex="-1" style="">
      
  3. 复制外部 HTML:

    • 右键单击找到的元素。
    • 选择复制 -> 复制外部 HTML。
    • 将复制的 HTML 粘贴到文件中,例如
      tasks.html
  4. 提取任务信息:

    • 使用
      xidel
      提取任务信息:
      $ xidel tasks.html --extract "for $label in /html/body/div/div/div/@aria-label return replace($label, '\n', '-') " > tasks.txt
      
  5. 处理提取的数据:

    • 现在,您可以处理
      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 聊天室任务的情况下,这是一种解决方法。

© www.soinside.com 2019 - 2024. All rights reserved.