

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 谷歌日历集成
<a name="google-calendar-integration"></a>

使用 Google 日历操作连接器，您可以直接在 Amazon Quick 中通过自然语言访问 Google 日历。您无需离开 Amazon Quick 即可创建和更新活动、查看空房情况、管理日历和组织与会者。

Amazon Quick 支持谷歌日历的多种身份验证方法。选择最适合您组织安全要求的方法。
+ **默认 OAuth 应用程序**-使用 AWS由托管的 OAuth 应用程序。无需其他凭证。您可以直接使用自己的 Google 帐号进行身份验证。
+ **自定义 OAuth 应用程序**-使用在谷歌云控制台中创建的客户托管 OAuth 客户端。此选项可让您的组织完全控制 OAuth 配置。

有关 Amazon Quick 支持的身份验证方法的更多信息，请参阅[身份验证方法](quick-action-auth.md)。

## 开始前的准备工作
<a name="google-calendar-integration-prerequisites"></a>

在设置集成之前，请确保您具备以下条件。
+ 可以访问谷歌日历的谷歌账号。
+ 对于**自定义 OAuth 应用程序**：访问谷歌网站上的[谷歌云控制台](https://console.cloud.google.com/)，并有权创建 OAuth 客户端。
+ 有关 Amazon Quick 订阅要求，请参阅[在控制台中设置集成](integration-console-setup-process.md)。

## 配置谷歌云
<a name="google-calendar-source-setup"></a>

如果您使用**默认 OAuth 应用程序**身份验证，请跳过此部分并转至。[在 Amazon Quick 中设置连接器](#google-calendar-quicksuite-setup)

要进行自定义 OAuth 应用程序身份验证，请在配置 Amazon Quick 之前在 Google Cloud 控制台中完成以下步骤。在步骤 3 中启用 API 时，请搜索并启用 **Google 日历 API**。

### 在谷歌云控制台中创建 OAuth 客户端
<a name="w2aac49c28c65c13b7"></a>

在谷歌云控制台中创建 OAuth 客户端，以获取 Amazon Quick 所需的客户端凭证。有关更多信息，请参阅谷歌网站上的[使用 OAuth 2.0 访问谷歌 API](https://developers.google.com/identity/protocols/oauth2)。

1. 在谷歌网站上登录[谷歌云端控制台](https://console.cloud.google.com/)。

1. 创建新项目或选择现有项目。

1. 在左侧导航窗格中，选择 **API 和服务**，然后选择**库**。搜索您的集成所需的 API，然后选择**启用**。

1. 选择 **OAuth 同意屏幕**，然后选择**开始**。

1. 配置同意屏幕：
   + 输入**应用程序名称**并选择**用户支持电子邮件**。
   + 对于**受众**，请选择**内部**（仅限您的组织）或**外部**（任何 Google 用户）。
   + 添加开发者联系方式并选择**创建**。

1. 选择**创建 OAuth 客户端。**

1. 配置客户端：
   + 对于**应用程序类型**，选择 **Web 应用程序**。
   + 为您的客户输入一个**姓名**。
   + 在 “**授权重定向 URI” 下，**添加 Amazon Quick 回传 URL：`https://{{{region}}}.quicksight.aws.amazon.com/sn/oauthcallback`

1. 选择**创建**。

1. 记录以下值。在配置 Amazon Quick 时，您需要它们。
   + **客户端 ID**
   + **客户端密钥**

### 推荐瞄准镜
<a name="google-calendar-oauth-scopes"></a>

当您连接到 Google 日历时，需要使用以下范围。


**谷歌日历推荐范围**  

| Scope | 说明 | 
| --- | --- | 
| https://www.googleapis.com/auth/calendar | 读取和写入日历事件和设置。 | 
| openid | 验证用户的身份。 | 
| email | 读取用户的电子邮件地址。 | 

**注意**  
`openid`和`email`范围会自动包含在 OAuth 用户身份验证的同意流程中。它们不是 Service-to-Service OAuth 所必需的。

## 在 Amazon Quick 中设置连接器
<a name="google-calendar-quicksuite-setup"></a>

### 从 “可用” 选项卡连接
<a name="google-calendar-quick-connect"></a>

如果要使用默认 OAuth 应用程序身份验证，则无需额外配置即可直接从 “**可用**” 选项卡进行连接。

1. 在 Amazon Quick 控制台中，选择**连接器**。

1. 在 “**可用**” 选项卡上，找到 **Google 日历**并选择 **Connect**。

1. 完成 Google 登录流程并授予所请求的权限。

要改为使用自定义 OAuth 应用程序配置连接器，请使用**为团队创建**选项卡，如下所述。

### 从 “为你的团队创建” 选项卡创建
<a name="google-calendar-full-setup"></a>

完成所有必需的 Google Cloud 配置后，请在 Amazon Quick 中创建连接器。

1. 在 Amazon Quick 控制台中，选择**连接器**。

1. 选择 “**为你的团队创建**” 选项卡。

1. 找到并选择**谷歌日历**。
**注意**  
如果 Google 日历连接器已存在，则会出现一个包含您现有连接器的对话框。要使用现有的连接器，请选择它。要创建新的，请选择 “**否，新建**”。

1. 输入连接器的**名称**。（可选）选择 **\+ 添加描述**以添加描述。

1. 对于**连接类型**，选择**公共网络**。

1. 对于 **OAuth 配置**，请选择以下身份验证方法之一并配置必填字段。

   1. 对于**默认 OAuth 应用程序：**

      无需其他凭证。选择**下一步**以继续。

   1. 对于**自定义 OAuth 应用程序**，请配置以下字段：
      + **基本网址**（可选）-谷歌日历 API 基本网址。示例：`https://www.googleapis.com/calendar`
      + **客户端 ID** — 来自谷歌云端 OAuth 客户端的客户端 ID。
      + **客户密钥**-来自谷歌云端 OAuth 客户端的客户端密钥。
      + **令牌网址**-令牌端点。示例：`https://oauth2.googleapis.com/token`
      + **授权 URL**-授权端点。示例：`https://accounts.google.com/o/oauth2/v2/auth`
      + **重定向 URL** — Pre-filled 使用 Amazon 快速回传网址。

1. 选择**下一步**。

1. 如果您选择**默认 OAuth 应用程序或**自定义 OAuth 应用程序****，则会打开 Google 授权窗口。查看请求的权限并选择 “**允许**”。

1. 在 “**查看**” 页面上，查看连接器的可用操作。选择**下一步**。

1. 在 “**发布**” 页面上，选择谁可以访问连接器。您可以为组织中的所有人启用访问权限，也可以搜索特定的团队或群组。

1. 选择**发布**。

## 可用操作
<a name="google-calendar-integration-actions"></a>

设置连接器后，可以使用以下操作。


**谷歌日历可用操作**  

| 类别 | 处理建议 | 说明 | 
| --- | --- | --- | 
| Events | 列出活动 | 在日历上列出事件。 | 
| Events | 搜索活动 | 按关键字或条件搜索事件。 | 
| Events | 获取活动 | 检索特定事件的详细信息。 | 
| Events | 创建活动 | 创建新的日历活动。 | 
| Events | 创建快速活动 | 根据文本字符串创建事件。 | 
| Events | 更新事件 | 更新现有事件。 | 
| Events | 更新活动日历 | 将活动移至其他日历。 | 
| Events | 导入事件 | 将事件导入日历。 | 
| Events | 列出事件实例 | 列出重复事件的实例。 | 
| Events | 删除与会者 | 将与会者从活动中移除。 | 
| 可用性 | 列出免费老虎机 | 查找跨日历的可用时段。 | 
| 日历 | 列出日历 | 列出经过身份验证的用户的日历。 | 
| 日历 | 列出日历活动 | 列出所有日历中的事件。 | 
| 日历 | 获取日历 | 检索特定日历的详细信息。 | 
| 日历 | 获取日历列表 | 检索日历列表条目。 | 
| 日历 | 更新日历列表 | 更新日历列表条目。 | 
| 设置 | 列表设置 | 列出用户的日历设置。 | 
| 公用事业机构 | 获取当前日期时间 | 检索当前日期和时间。 | 

**注意**  
您可以使用的操作取决于经过身份验证的用户可访问的日历。

## 管理和故障排除
<a name="google-calendar-integration-troubleshooting"></a>

要编辑、共享或删除您的连接器，请参阅[管理现有集成](integration-workflows.md#managing-existing-integrations)。

### 常见的谷歌身份验证问题
<a name="w2aac49c28c65c19b5"></a>
+ **Sign-in 失败（默认 OAuth 应用程序或自定义 OAuth 应用程序）**[— 确认您的 Google 帐户处于活动状态，并且可以直接登录 Google 网站。](https://accounts.google.com)对于自定义 OAuth 应用程序，请确认您的 Google Cloud OAuth 客户端中的重定向 URI 是否与 Amazon Quick 回传网址相匹配。
+ **应用程序被管理员屏蔽**-如果您的 Google Workspace 管理员限制了第三方应用程序的访问权限，那么您在尝试登录时可能会看到错误消息。请联系您的 Google 工作空间管理员以允许使用 Amazon Quick 应用程序。
+ **无效的客户端凭据（自定义 OAuth 应用程序）**-验证客户端 ID 和客户端密钥是否与 Google Cloud OAuth 客户端中的值相匹配。
+ **身份验证弹出窗口失败** — 确认您的浏览器允许来自 Amazon Quick 控制台域的弹出窗口。尝试使用其他浏览器或清除浏览器缓存。
+ **权限已撤销** — 如果您之前从 Google 帐号权限设置中撤消了 Amazon Quick 访问权限，则需要通过编辑连接器并重新登录来重新进行身份验证。
+ **Google API 速率限制** — Google 可能会在高使用率期间限制请求。如果操作失败，请在几分钟后重试。

### 谷歌 Calendar-specific 问题
<a name="google-calendar-troubleshooting-service"></a>
+ **未启用 Google 日历 API** — 确认您的 Google Cloud 项目中的 “API **和服务”、“**资源库**” 下的 Google 日历 API** 已启用。