WAthink 使用手册

Google Workspace 连接配置教程:完成 OAuth 授权并在自动化流程中调用 Calendar 与 Sheets 节点

一次 Google 登录即可将整个工作区连接到 Google Workspace,并一次性解锁多项功能:用于预约的 Calendar 时段选择器、流程与收件箱编辑器内按需生成的 Google Meet 链接,以及 Sheets、Docs、Forms 流程构建器节点。

实际入口、可用参数与操作权限,请结合所用版本、套餐及已启用模块核对。
本篇内容
两种角色:平台管理员只需注册一次 Google OAuth 客户端(见下文第 1–4 步)。之后,每个工作区操作员只需点击连接 Google 账号并批准同意屏即可。凭据始终保留在管理员设置中;操作员永远不会看到 Client ID 或 Secret。

概览

一次 Google 登录即可将整个工作区连接到 Google Workspace,并一次性解锁多项功能:用于预约的 Calendar 时段选择器、流程与收件箱编辑器内按需生成的 Google Meet 链接,以及 Sheets、Docs、Forms 流程构建器节点。

在 More → Google account 中管理该连接。每个工作区只需连接一次 — 连接会加密安全地存储在该工作区上,并在所有需要 Google 的地方复用。

注意:Google 账号归属于第一个点击 Connect 的人。Calendar 事件与 Meet 链接会出现在该用户的 Google Calendar 中 — 通常是工作区所有者。每个工作区硬性限制为一个 Google 账号。

管理员:创建 Google OAuth 客户端

在 Google Cloud Console 中为整个平台执行一次即可。

第 1 步 — 项目 + OAuth 同意屏

  1. 创建(或选择)一个 Google Cloud 项目。
  2. 打开 APIs & Services → OAuth consent screen。选择 External(除非所有要连接的用户都在你自己的 Google Workspace 组织内,此时选 Internal)。填写应用名称、支持邮箱和授权域名。
  3. 添加你打算使用的 scope(见第 3 步 / scope 表)。当应用处于 Testing 状态时,将要连接的 Google 账号添加为 Test users;发布应用即可移除该限制。

第 2 步 — 启用所需 API

在 APIs & Services → Library 中逐项启用以下 API(按名称搜索,点击 Enable):

  • Google Calendar API — 时段选择器 + Meet 链接生成。
  • Google Sheets API — Sheets 流程节点。
  • Google Docs API — Docs 流程节点。
  • Google Drive API — 文档复制/分享 + 文件选择器。
  • Google Forms API — Forms 流程节点。
如果某个 API 未开启,即使已授予相应 OAuth scope,调用它仍会返回 Google 错误。请提前启用全部五个 API,确保每个流程节点都能正常工作。

第 3 步 — 创建 OAuth 2.0 客户端(Web)+ 重定向 URI

  1. 打开 APIs & Services → Credentials → Create credentials → OAuth client ID。
  2. Application type:Web application。
  3. 在 Authorized redirect URIs 下点击 Add URI,并原样粘贴:

https://YOUR-DOMAIN/appointments/oauth/google/callback

将 YOUR-DOMAIN 替换为 WAthink 实际运行的主机(协议、主机与路径必须逐字符匹配,且结尾不能带斜杠)。这是 WAthink 整个 Google 集成唯一使用的回调地址 — Calendar、Meet、Sheets、Docs 与 Forms 都返回到这里。

  1. 点击 Create。Google 会显示 Client ID 和 Client Secret — 复制两者。

第 4 步 — 将凭据粘贴到 WAthink(管理员)

  1. 前往 Admin → Settings → Google Calendar。
  2. 粘贴 Client ID 和 Client Secret(secret 会加密保存,之后不再显示)。
  3. 打开 Enable 并保存。就绪状态条会确认凭据已保存、功能已开启、重定向已设置。

重定向 URI 默认为 https://YOUR-DOMAIN/appointments/oauth/google/callback;如果你的部署需要不同的地址,可使用可选的重定向 URI 覆盖字段 — 无论使用哪个,都必须与第 3 步注册的完全一致。标准权限集已预填(见 scope 表),如需请求更少权限可以自行裁剪。

在此之前:工作区的 Google 账号页面会显示 Admin setup needed 横幅,且 Connect 按钮处于禁用状态。工作区操作员无法自行配置 — 这是一次性的平台级设置。

操作员:连接你的账号

  1. 打开 More → Google account。
  2. 点击 Connect Google account。你会被带到 Google 的同意屏。(WAthink 会向 Google 请求可在后台自动续期的访问权限,因此你无需反复登录。)
  3. 登录并批准访问。Google 会明确展示你将授予的权限。
  4. 你会回到本页面。状态变为 connected,连接行会显示你的账号邮箱与头像、所选日历、已授予的权限以及连接时间。

页面还会显示一行四项统计:连接状态、可用日历数量、已授予权限数量,以及自动续期是否生效。侧边面板列出该连接支撑的全部功能(Book Appointment 节点、Google Meet 节点、收件箱 Send Meet 按钮,以及 Sheets/Docs/Forms 节点)。

提示:连接时会自动选中你的主 Google 日历,因此 Meet 链接可立即使用。如果你有多个日历,可通过 Change calendar 操作(位于连接行和 Appointments 设置页)选择预约事件写入哪个日历。

OAuth scope 与隐私

WAthink 只请求其功能所需的最小 scope,并打包为一次授权,因此一次批准即可解锁全部流程节点。以下是默认授权所请求的确切 scope:

功能Scope访问权限
Calendar & Meetauth/calendar查看你的空闲/忙碌时间,创建和更新日程事件,并生成 Meet 链接
Sheets 节点auth/spreadsheets在你的电子表格中添加和读取行
Docs 节点auth/documents复制模板文档并填充其占位符
Drive(文件选择器 + 分享)auth/drive列出你已有的 Sheets/Docs/Forms,以便流程构建器选择器展示它们;复制你选择的 Docs 模板并分享副本。更窄的 Drive 权限在这里行不通 — 它只能看到 WAthink 自己创建的文件,导致选择器为空。
Forms 节点auth/forms.body.readonly读取表单结构及其回答者链接

WAthink 还会请求基础资料权限(openid、userinfo.email、userinfo.profile),以便账号页面显示你的邮箱与头像。

隐私:需要 drive 权限是为了让流程构建器能够列出并复制你选择的文件。WAthink 只会读取或写入你在流程节点中选定的具体文件 — 绝不触碰你 Drive 中的其它内容。

重新连接以获取新 scope

如果你的 Google 账号在 Sheets/Docs/Forms 节点出现之前就已连接,页面会将已授予的 scope 与所需集合进行比对,并显示 Reconnect to unlock new flow nodes 横幅,列出具体缺少哪些 scope。点击 Reconnect 以完整 scope 集重新执行 OAuth。现有的 Calendar 与 Meet 功能全程保持可用 — 重新连接只会增加访问权限,绝不会中断当前连接。

Calendar 与 Meet 链接

连接后,Google token 会支撑三个 Meet/Calendar 触点:

  • Book Appointment 节点 — 向客户提供真实的可用时段(你的可用时间减去 Google 日历上已占用的时间),并将预约写入你的日历。
  • Google Meet 节点 — 在流程中创建新的 Meet 链接并发送给客户。
  • 收件箱「Send Meet link」 — 团队收件箱编辑器中的一个按钮。操作员选择时长后,系统会生成 Meet 链接并插入回复中。在 Google 连接之前该按钮隐藏。
注意:如果你断开 Google,已保存的流程保持完整,但任何正在运行且命中 Calendar 或 Meet 节点的流程都会失败,收件箱的 Send Meet 按钮也会消失。随时可以重新连接 — 所有功能会以相同设置立即恢复。

Sheets、Docs 与 Forms 流程节点

连接 Google 后,这些节点会在可视化流程构建器中启用。每个节点通过由你的账号填充的 Drive 选择器读取目标文件,因此你按名称选择文件,而无需粘贴 ID。

节点作用
Google Sheets向表格追加一行(例如记录一条线索),或按匹配的列值查找一行,然后将结果映射到流程变量。
Google Docs复制模板文档,将 {{placeholder}} 和 {placeholder} 标记替换为流程变量,可选择将其设为可分享(任何获得链接的人均可阅读),并返回新文档的链接。
Google Forms将表单链接发送给客户,暂停流程,并在客户提交表单后恢复流程。

每个节点的选择器会列出你账号中匹配的文件(电子表格、文档或表单),最近编辑的排在前面。

Forms:恢复暂停的流程

Google Forms 节点使用一小段 Google Apps Script,使表单提交后可以恢复暂停的 WhatsApp 流程。设置 Forms 节点时,WAthink 会生成一段可直接粘贴的脚本,并已填好你的连接信息 — 你无需手工编辑任何内容。

  1. 打开你的 Google Form,然后点击三点菜单(⋮)→ Script editor。
  2. 粘贴完整生成的脚本并保存。
  3. 打开 Triggers(时钟图标)并添加触发器:函数 onWAthinkFormSubmit(当前集成使用的实际函数名,请原样填写),事件来源 From form,类型 On form submit。
  4. 保存并授予 Google 要求的权限。

此后,每次提交都会将答案安全地发送到 WAthink;WAthink 会找到暂停的流程,并沿其「submitted」路径继续执行,答案可作为流程变量使用。

Google Sheets 加载项(用电子表格管理店铺)

与上文的 Sheets 流程节点不同,WAthink 还提供一个 Google Sheets 加载项,让你直接在电子表格中构建和管理 WhatsApp 店铺 — 每行一个商品。入口在 More → Integrations → Sheets Add-on。

此处无需填写地址。与浏览器扩展不同,Sheets 加载项无需输入服务器地址。WAthink 提供的脚本已指向你的安装实例,并使用个人 API key 登录 — 因此你唯一需要粘贴的就是该 key。

第 1 步 — 生成你的 Sheets API key

在 Sheets Add-on 页面点击 Generate API key。你会得到一个 key(形如 wsn_live_…),仅显示一次 — 请立即复制。服务器只保存其加扰版本(保留末尾几个字符用于显示),因此永远无法读回。你可以随时在同一页面撤销或重新生成,旧 key 会立即失效。

第 2 步 — 安装加载项脚本

页面提供两种方式:

  • Marketplace — 从 Google Workspace Marketplace 一键安装加载项(如果你已将其发布到那里)。
  • Manual — 在 script.google.com 新建 Apps Script 项目,并粘贴 WAthink 提供的文件(Code.gs、appsscript.json 以及几个 HTML 文件)。页面提供 Download 按钮和逐步粘贴说明。保存并授予 Google 要求的权限。

第 3 步 — 在电子表格中使用

  1. 打开任意 Google Sheet,然后点击 Extensions → [Your app] WhatsApp Shop → Open。
  2. 将你的 API key 粘贴到加载项的 Settings 侧边栏。
  3. 侧边栏会列出你现有的店铺,并允许你根据表格中的行创建新店铺 — 每行一个商品(标题、价格、图片等)。
白标说明:加载项的菜单名称与 WAthink 提供的脚本都会自动采用你平台的应用名称 — 因此当你在管理员设置中重命名 WAthink 时,Sheet 加载项会随之更新,无需修改脚本。

断开连接

在 Google 账号页面使用 Disconnect 按钮移除连接。系统会要求你确认,因为断开连接会停用 Book Appointment 和 Google Meet 节点,并隐藏收件箱 Send Meet 按钮,直到你重新连接。你的流程及其节点设置都会保留 — 只有实时连接被移除。

故障排查

现象原因修复
Google 同意屏上出现 redirect_uri_mismatchCloud Console 中注册的重定向 URI 与 WAthink 发送的不一致。在 Cloud Console → Credentials → 你的 OAuth 客户端中,将 Authorized redirect URIs 精确设置为 https://YOUR-DOMAIN/appointments/oauth/google/callback — 协议、主机与路径完全一致,且结尾无斜杠。如果管理员在 WAthink 中设置了自定义 Redirect URI 覆盖,则改为注册该地址。
Admin setup needed 横幅 / Connect 按钮禁用平台 OAuth 客户端尚未设置,或功能已关闭。管理员在 Admin → Settings → Google Calendar 下粘贴 Client ID 与 Secret,并打开 Enable。
流程节点报错 "missing scope" / "insufficient permission"连接早于该节点,因此从未授予相应 scope。在 Google 账号页面点击 Reconnect,以完整 scope 集重新执行 OAuth(页面会告知缺少哪些 scope)。
连接正常,但 Sheets/Docs/Forms 调用报错(尽管 scope 已授予)Cloud 项目未开启对应的 Google API。管理员在 APIs & Services → Library 中启用 Calendar、Sheets、Docs、Drive 与 Forms API(见第 2 步)。
统计行显示自动续期缺失;连接约一小时后断开Google 只在完整走完同意屏时才启用后台续期;跳过它的快速重新登录不会启用。点击 Disconnect,然后重新 Connect,让 Google 显示同意屏并启用自动续期。
「access blocked: app not verified」或只有测试用户可以连接OAuth 同意屏仍处于 Testing 状态。将操作员的 Google 账号添加为 Test user,或将同意屏发布到生产环境。
仍需进一步帮助?查看反馈与支持方式

文档目录

返回官网

搜索操作文档

正在准备文档索引…

↑ ↓ 切换结果 · Enter 打开Esc 关闭