使用从 Google Drive package 查找文件/文件夹 action 的示例

构建一个 bot,用于在 Google Drive 中搜索文件,如果在指定路径中未找到该文件,则创建该文件。

先决条件

假设您想在 Google Drive 中创建一个 Google 工作表,如果它不存在的话。 在 Google Drive package 中,您可以使用 Google Drive > 查找文件/文件夹 action 检查文件是否已存在于 Google Drive 中。 如果文件不存在,您可以使用 Google Sheets package 中的创建工作簿 action 来创建文件。

bot 检查 Google Drive 中是否存在 Google 工作表。 如果在指定路径中不存在,bot 会创建一个 Google 工作表并将数据从 CSV 文件复制到该工作表中。

过程

  1. 创建新 bot
    1. 在左侧窗格中,单击自动化
    2. 单击 新建 > 任务机器人
    3. 创建任务机器人窗口中,为 bot 输入一个名称:
    4. 接受默认文件夹位置:\Bots\
    5. 要更改默认的 bot 存储位置,请单击选择并按照提示操作。
    6. 单击创建和编辑
  2. 打开包含您要复制到 Google 表格的数据的 CSV 文件。
    1. 操作面板中,找到并添加 CSV/TXT > 打开 actionBot editor
    2. 会话名称中,输入 csvsession
    3. 文件路径中,指定要从其中复制数据的 CSV 文件路径。
    4. 如果 CSV 表格有标题,选择包含标题
    5. 根据 CSV 文件中使用的分隔符选择一个分隔符。
    6. 保存更改。
  3. 从 CSV 读取数据并将其存储在数据表变量中。
    1. 操作面板中,找到并添加 CSV/TXT > 读取 actionBot editor
    2. 会话名称中,输入 csvsession
    3. 将值分配给变量中,单击 (x) 并创建一个名为 TableFromCSV 的变量。
    4. 保存更改。
  4. 关闭 CSV 文件。
    1. 操作面板中,找到并添加 CSV/TXT > 关闭 actionBot editor
    2. 会话名称中,输入 csvsession
    3. 保存更改。
  5. 连接到 Google Drive。
    1. 操作面板中,找到并添加 Google Drive > 连接 actionBot editor
    2. 用户名中,选择不安全字符串,然后输入与您设置的 OAuth 连接相关联的电子邮件 ID。
    3. OAuth2 身份验证模式 中,选择 Control Room 管理
    4. 单击选择并选择您在 Control Room 中配置的连接。
    5. 保存更改。
  6. 连接到 Google Sheets。
    1. 操作面板中,找到并添加 Google Sheets > 连接 actionBot editor
    2. 用户名中,选择不安全字符串,然后输入与您设置的 OAuth 连接相关联的电子邮件 ID。
    3. 会话名称中输入 gsheetsession
    4. OAuth2 身份验证模式 中,选择 Control Room 管理
    5. 单击选择并选择您在 Control Room 中配置的连接。
    6. 保存更改。
  7. 在 Google Drive 中创建新表格之前,请检查您要创建的文件是否已存在。 仅在指定路径中不存在该文件时创建文件。 要做到这一点,请使用 Try Catch actions
    1. 操作面板中,找到并添加 错误处理器 > Try actionBot editor
    2. 保存更改。
  8. 要检查文件是否已存在,请使用 Google Drive 查找文件/文件夹 action
    1. 操作面板中,找到并添加 Google Drive > 查找文件或文件夹 action 到 Try 块中。
    2. 用户名中,选择不安全字符串并输入与 OAuth 连接关联的电子邮件 ID。
    3. 找到中,单击文件
    4. 源文件夹路径中,输入源文件夹。 例如,在此示例场景中,机器人在 aa-docs/spreadsheets 路径中查找文件。
    5. 匹配类型中,选择完全匹配
    6. 文件或文件夹名称中,输入 contacts
    7. 返回文件或文件夹列表中,选择字典
    8. 单击 (x),并创建一个名为 FileFolderDictionary 的字典变量,子类型为 Any
    9. 保存更改。
  9. 如果文件不存在,请创建该文件。
    1. 操作面板中,找到并添加 Google Sheets > 创建工作簿 action 到 Catch 块中。
    2. 用户名中,选择不安全字符串并输入与 OAuth 连接关联的电子邮件 ID。
    3. 会话名称中,输入 gsheetsession
    4. 工作簿名称中,输入 contacts
    5. 文件路径中,单击从我的共享位置,然后输入父级文件夹路径。 例如,在本示例场景中,bot 会在 aa-docs/spreadsheets 路径中搜索文件。
    6. 保存更改。
  10. 要从 Google Drive 打开电子表格,您需要其文件 ID 或文件路径。 由于此 bot 动态创建文件,因此在 bot 执行之前,您将无法获得该文件路径。 不过,您可以再次使用 Google Drive 查找文件/文件夹 action 来获取文件 ID。
    1. 操作面板中,找到并添加 Google Drive > 查找文件/文件夹 action 到 Try Catch 块之后。
    2. 用户名中,选择不安全字符串并输入与 OAuth 连接关联的电子邮件 ID。
    3. 找到中,单击文件
    4. 源文件夹路径中,输入源文件夹。 例如,本例中的示例 botaa-docs/spreadsheets 路径中查找文件。
    5. 匹配类型中,选择完全匹配
    6. 文件或文件夹名称中,输入 contacts
    7. 返回文件或文件夹列表中,单击字典并选择 FileFolderDictionary 变量。
      查找文件/文件夹 API 返回一个包含匹配文件信息的字典。 字典中包含一个名为 NumberOfFiles 的键。 它提供了匹配文件的数量。 字典还包含名为 File1、File2 等的键,具体取决于匹配文件的数量。 这些键包含 JSON 格式的文件名和文件 ID 等信息。 以下是通过查找文件/文件夹 API 调用返回的字典示例:
      {NumberOfFiles,1},{File1,{"fileName":"contacts","fileId":"171yBUzqH80ZW_KLEp23DwebzkCdDZgnGFWBzB6K9kco"}}
      您可以通过解析 JSON 字符串来获取文件 ID,该 ID 是与键 File1 关联的值。
    8. 保存更改。
  11. 解析与 File1 键关联的 JSON 字符串。
    1. 操作面板中,找到并添加 Json > 开始会话 action
    2. 数据源中,选择文本并输入 $FileFolderDictionary{File1}$
    3. JSON 对象会话中,单击本地会话,然后输入 jsonsession
    4. 保存更改。
  12. 从 JSON 对象中检索文件 ID。
    1. 操作面板中,找到并添加 Json > 获取节点值
    2. JSON 节点键或路径中,输入 fileId
    3. 会话名称中,输入 jsonsession
    4. 将结果保存到变量中,单击 (x) 并创建一个名为 FileId 的变量。
    5. 保存更改。
  13. 结束 JSON 会话。
    1. 操作面板中,找到并添加 Json > 结束会话 action
    2. 会话名称中,输入 jsonsession
    3. 保存更改。
  14. 使用检索到的文件 ID,打开在 Google Drive 中创建的电子表格。
    1. 操作面板中,找到并添加 Google Sheets > 打开电子表格 action
    2. 用户名中,选择不安全字符串并输入与 OAuth 连接关联的电子邮件 ID。
    3. 会话名称中,输入 gsheetsession
    4. 打开工作表中,单击从电子表格 ID 并输入 $FileId$
    5. 保存更改。
  15. 将数据表变量写入 Google 工作表。
    1. 操作面板中,找到并添加 Google 工作表 > 从数据表写入 action
    2. 会话名称中,输入 gsheetsession
    3. 工作表选项中,单击特定工作表,然后在工作表名称中输入Sheet1或目标电子表格中的工作表名称。
    4. 输入数据表变量中,选择 TableFromCSV
    5. 开始单元格值中,输入 A1
    6. 保存更改。
  16. 断开 Google Drive 和 Google Sheets 的连接。
    1. 操作面板中,找到并添加 Google Drive > 断开连接 action
    2. 用户名中,选择不安全字符串并输入与 OAuth 连接关联的电子邮件 ID。
    3. 保存更改。
    4. 操作面板中,找到并添加 Google Sheets > 断开连接 action
    5. 用户名中,选择不安全字符串并输入与 OAuth 连接关联的电子邮件 ID。
    6. 会话名称中,输入 gsheetsession
    7. 保存更改。
  17. 运行 bot