第 11 章 连接到 Google 应用程序
集成可以连接到这些 Google 应用程序:Gmail、Calendar 和 Sheets。详情请查看以下主题:
11.1. 将 Fuse Online 注册为 Google 客户端应用程序
在集成中,要能够连接到 Gmail、Google Calendar 或 Google Sheets,您必须将 Fuse Online 环境注册为 Google 客户端应用程序。在注册过程中,您可以启用 Google API 并创建 Fuse Online 用于访问您启用的 Google API 的凭证。
通过注册,您可以创建与 Gmail、Google Calendar 和 Google Sheets 的多个连接。您可以在多个集成中使用每个连接。虽然与 Google 应用程序的每个连接都可以使用相同的 Google 客户端 ID 和 Google 客户端 secret,但每个连接都可以访问您选择的不同 Google 帐户。
此流程指示您启用 Gmail API、Google Calendar API 和 Google Sheets API。但是,您只能启用您需要的 API,而不是所有三个 API。稍后,如果您需要创建与未启用 API 的应用的连接,您可以在此处返回并按照说明启用其 API。
您必须为 Fuse Online 创建新的 Google 客户端应用程序。Google 为新客户端应用程序提供的凭证包含一个刷新令牌,用于刷新已过期的访问令牌。此刷新令牌仅在 Fuse 在线客户端应用使用凭据时可用。在 Fuse Online 中,到 Gmail、Google Calendar 和 Google Sheets 的连接都可以使用相同的 Google 客户端 ID 和 Google 客户端 secret。如果这样做,则刷新令牌可用于所有与 Google 应用程序的连接。当您在 Fuse Online 用户界面中查看连接详情时,请不要单击 Validate 按钮。验证是凭据的第二个使用,刷新令牌不再是客户端凭据的一部分。但是,您可以重新连接到 Google 应用程序。
在开发环境中,如果您选择使用 Google 客户端 ID 和 Google 客户端 secret,用于其他非Fuse Online OAuth 客户端,请小心。Fuse Online 需要在第一次 OAuth 交换上请求的离线访问。如果另一个 OAuth 客户端已进入 OAuth 交换且没有请求离线访问,则 Fuse Online 无法获取后续 OAuth 交换的离线访问。如果您不确定在第一次交换上请求离线访问,请为 Fuse Online 创建新的 Google 客户端应用程序。
先决条件
- 您必须能够登录到您要用来将 Fuse Online 注册为 Google 客户端应用程序的 Google 帐户。
流程
在 Fuse Online 中:
- 在左侧导航面板中,单击 Settings。
-
在 Settings 页面中,在回调 URL 右侧,点
将 Fuse Online 环境的回调 URL 复制到剪贴板。此流程稍后您将需要此 URL。
在另一个浏览器标签页中,进入
https://console.developers.google.com
并执行以下操作:检查您是否已签名了您要用来将 Fuse Online 注册为 Google 客户端应用程序的 Google 帐户。或者,选择不同的 Google 帐户并登录到该帐户。
当前 Google 项目的名称会出现在 Google API 页面的顶部。
- 要使用当前项目为 Fuse Online 授予授权,请继续下一步。要在另一个 Google 项目中向 Fuse Online 授予授权,请选择或创建该项目。如果此 Google 帐户还没有项目,则必须创建一个项目。
启用 Google API:
-
在左上角,点
并选择 API 和 Services > Library。
- 如有必要,向下滚动以查看卡的 G Suite 行。
- 点 Google Calendar API 卡,显示一个页面,表示启用了 Google Calendar API。
- 向下滚动并单击 Gmail API 卡,显示指出 Gmail API 已启用的页面。
-
在左上角,点
并选择 API 和 Services > Library。
- 如有必要,向下滚动以查看卡的 G Suite 行。
- 点 Google Sheets API 卡,显示一个页面,表示启用了 Google Sheets API。
-
在左上角,点
为您的客户端应用程序指定一个名称:
- 单击 MANAGE。
- 在出现的页面中,在左侧导航面板中点 Credentials,然后点 API & Services 中的 Credentials。
- 点 OAuth consent 屏幕 标签页。
-
在出现的页面中,在 Application Name 字段中输入 Fuse Online 客户端应用程序的名称。例如,输入
Fuse Online 客户端应用程序
。 - 跳过其他字段。
- 点 Save。
获取客户端应用程序凭证,如下所示:
- 在 Create Credentials 右侧,单击向下箭头以显示菜单,然后选择 OAuth 客户端 ID。
- 在出现的页面中,选择 Web application 以显示更多内容。
-
在 Name 字段中输入 Fuse Online 环境的 OAuth 客户端 ID 的名称。这与您为客户端应用程序本身输入的名称不同。例如,
为 Fuse Online 输入 OAuth 客户端 ID
。 - 跳过 Authorized JavaScript 来源。
- 在 Authorized redirect URIs 字段中,粘贴您在此流程开始时从 Fuse Online 环境复制的回调 URL。
- 点 Create 显示 Fuse Online 环境的客户端 ID 和客户端 secret。
-
在客户端 ID 字段右侧,点
将客户端 ID 复制到您的剪贴板。
返回 Fuse Online Settings 页面并执行以下操作:
- 展开 Gmail、Google Calendar 和 Google Sheets 的条目。
- 在每个 Google 应用程序的 Client ID 字段中,粘贴您刚才复制的 Google 客户端 ID。
-
返回到 Google developers 站点和客户端 secret 字段右侧,点
将客户端 secret 复制到您的剪贴板。
返回到 Fuse Online Settings 页面,并在每个 Google 应用程序的条目中执行以下操作:
- 在 Client Secret 字段中,粘贴刚才复制的 Google 客户端 secret。
- 点 Save。您应会收到" 注册成功" 通知。
- 折叠条目。
结果
对于启用的每个 Google 应用程序 API,您可以创建一个与应用程序的连接。
从 Fuse Online 到 Google 应用程序的所有连接都使用相同的 Google 客户端 ID 和 Google 客户端 secret。
Google 客户端 ID 和 Google 客户端 secret 包含令牌刷新信息,以确保与 Google 应用程序的连接的集成可以持续正常工作。因此,您不应该 获取新凭证。如果这样做,则需要重新创建每个 Google 连接,将旧连接替换为新连接,然后重新发布使用 Google 连接的每个集成。