以下页面介绍了如何为 Google 日历和 Gmail 设置助理操作。
Google 日历操作
开启 Google 日历操作后,最终用户可以要求助理为其创建 Google 日历活动。
例如,用户可以输入“schedule a meeting with user1@example.com at 3pm tomorrow”。Google 助理会根据需要询问更多详细信息,然后要求用户确认创建活动。
Google 助理可以通过操作读取和修改以下 Google 日历字段:
| 字段 | 说明 |
|---|---|
| 参加者 | 必需。参加者的邮箱列表。发出请求的用户会自动添加到列表中。 |
| 标题 | 会议的标题。 |
| 开始时间 | 会议的开始时间。 |
| 时长 | 会议时长。默认为 30 分钟。 |
| 时区 | 会议的时区。如果未提供,系统会使用用户的时区。 |
| 说明 | 会议说明。 |
为 Google 日历设置身份验证和权限
在开启 Google 日历操作之前, Google Cloud 管理员必须按如下所述启用 Google Calendar API 并设置授权。
启用 Google Calendar API
在 Google Cloud 控制台中,启用以下 API:
创建 OAuth 应用并添加范围
如果您没有 OAuth 应用,请按照以下步骤操作。如果您已有 OAuth 应用,请跳至创建 OAuth 客户端凭证。
点击开始使用。
输入 OAuth 应用的名称。
输入用户支持邮箱。
选择内部。
输入开发者联系信息。
点击创建。
创建 OAuth 客户端凭证
此过程介绍了如何为 Google Cloud操作创建新的 OAuth 客户端 ID。此 OAuth 客户端 ID 和密钥还可用于其他 Google Cloud操作。如果您已有适用于 Google Cloud操作的 Google Cloud OAuth 客户端 ID,则可以将该客户端 ID 和密钥用于 Google 日历操作,而不是创建新的客户端 ID。
点击创建客户端。
在应用类型部分,选择 Web 应用。
在名称字段中,输入客户端 ID 的名称。
在已获授权的重定向 URI 部分中,点击添加 URI,然后输入以下 URI:
https://vertexaisearch.cloud.google.com/oauth-redirect点击创建,然后复制以下信息:
- 客户端 ID
- 客户端密钥
添加 Google 日历操作
如需使用控制台或 API 创建 Google 日历操作,请按照以下步骤操作:
准备工作
请先确保您已满足必要的前提条件(包括现有的应用和身份验证详细信息),然后才能添加 Google 日历操作。
Google Cloud 管理员必须先完成为 Google 日历设置身份验证和权限部分中的步骤,并为您提供客户端 ID 和客户端密钥,然后您才能添加操作。
您必须已有关联到 Google 日历数据存储区的 Gemini Enterprise 应用。如需创建新应用,请参阅创建应用。
如果您最近在 Google Cloud 项目中启用了 Discovery Engine API 并创建了应用,请等待至少 15 分钟,让应用设置完成,然后再配置 Google 日历操作。
配置 Google 日历操作
控制台
如需使用控制台向应用添加操作,请执行以下操作:
- 在 Gemini Enterprise 中,前往 Gemini Enterprise 页面。
- 选择您的 Gemini Enterprise 应用。
- 在导航菜单中,点击操作。
添加操作:
如果这是您的第一个操作,请点击添加操作。
如果您之前创建了操作,请点击创建。
对于 Google 日历,请点击关联。
输入操作连接器的名称。
为操作连接器输入授权信息:
- 在新客户端 ID 和新客户端密钥字段中,输入管理员在创建 OAuth 客户端凭证部分中创建的客户端 ID 和客户端密钥。
- 点击确认身份验证,然后向 Gemini Enterprise 应用授予对 Google 日历的访问权限。
选择要启用的操作。
点击完成设置。 您的操作会显示在操作页面上。
REST
如需使用 API 向应用添加操作,请执行以下操作。
为 Google 日历操作创建操作连接器。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-GFE-SSL: yes" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION:setUpDataConnector" \ -d '{ "collection_id":"CONNECTOR_ID", "collection_display_name":"CONNECTOR_DISPLAY_NAME", "data_connector":{ "data_source":"google_calendar", "action_config":{ "is_action_configured":true, "action_params":{ "client_id":"CLIENT_ID", "client_secret":"CLIENT_SECRET" } }, "connector_modes": ["ACTIONS"] } }'PROJECT_ID:您要在其中创建 Google 日历操作连接器的项目的 ID。LOCATION:Google 日历操作连接器的多区域:global、us或eu。CONNECTOR_ID:您要创建的连接器的 ID。此 ID 只能包含小写字母、数字、下划线和连字符。CONNECTOR_DISPLAY_NAME:您要创建的连接器的显示名称。CLIENT_ID:管理员在创建 OAuth 客户端凭证中创建的客户端 ID。CLIENT_SECRET:管理员在创建 OAuth 客户端凭证中创建的客户端密钥。
将您创建的 Google 日历操作连接器关联到现有应用。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=enabled_tools" \ -d '{ "name": "projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant", "enabled_tools": { "projects/PROJECT_ID/locations/LOCATION/collections/CONNECTOR_ID/dataConnector": { "tool_info": [ { "tool_name": "create_calendar_event", "tool_display_name": "Create Calendar Event" } ] } } }'PROJECT_ID:应用和 Google 日历操作连接器所在项目的 ID。LOCATION:应用和操作连接器的多区域:global、us或eu。APP_ID:您要将操作附加到的应用的 ID。CONNECTOR_ID:在上一步中创建的 Google 日历操作连接器的 ID。
添加操作后,助理可以在应用中代表最终用户执行这些操作。用户首次要求助理执行 Google 日历操作时,系统会要求用户授权访问其 Google 日历账号。
Gmail 操作
开启 Gmail 操作后,最终用户可以要求助理为其发送邮件。
例如,用户可以输入“send an email to user1@example.com with title 'Hi there' and content 'how are you doing?”。助理会根据需要询问更多详细信息,然后要求用户确认发送邮件。
助理可以通过操作读取和修改以下 Gmail 字段:
| 字段 | 说明 |
|---|---|
| 收件人 | 必需。收件人邮箱名单。 |
| 主题 | 必需。邮件主题 |
| 内容 | 必需。邮件的内容(采用 Markdown 格式)。 |
| CC | 邮件的抄送列表。 |
| 密送 | 邮件的密送列表。 |
为 Gmail 设置身份验证和权限
在开启 Gmail 操作之前, Google Cloud 管理员必须启用 Gmail API 并设置授权。
启用 Gmail API
在 Google Cloud 控制台中,启用以下 API:
创建 OAuth 应用并添加范围
如果您没有 OAuth 应用,请按照以下步骤操作。如果您已有 OAuth 应用,请跳至创建 OAuth 客户端凭证。
点击开始使用。
输入 OAuth 应用的名称。
输入用户支持邮箱。
选择内部。
输入开发者联系信息。
点击创建。
创建 OAuth 客户端凭证
此过程介绍了如何为 Google Cloud操作创建新的 OAuth 客户端 ID。此 OAuth 客户端 ID 和密钥还可用于其他 Google Cloud操作。如果您已有适用于 Google Cloud操作的 Google Cloud OAuth 客户端 ID,则可以将该客户端 ID 和密钥用于 Google 日历操作,而不是创建新的客户端 ID。
点击创建客户端。
在应用类型部分,选择 Web 应用。
在名称字段中,输入客户端 ID 的名称。
在已获授权的重定向 URI 部分中,点击添加 URI,然后输入以下 URI:
https://vertexaisearch.cloud.google.com/oauth-redirect点击创建,然后复制以下信息:
- 客户端 ID
- 客户端密钥
添加 Gmail 操作
如需使用控制台或 API 创建 Gmail 操作,请按照以下步骤操作:
准备工作
请先确保您已满足必要的前提条件(包括现有的应用和身份验证详细信息),然后才能添加 Gmail 操作。
Google Cloud 管理员必须先完成为 Gmail 设置身份验证和权限部分中的步骤,并为您提供客户端 ID 和客户端密钥,然后您才能添加操作。
您必须已有关联到 Gmail 数据存储区的 Gemini Enterprise 应用。如需创建新应用,请参阅创建应用。
如果您最近在 Google Cloud 项目中启用了 Discovery Engine API 并创建了应用,请至少等待 15 分钟,让应用设置完成,然后再配置 Gmail 操作。
配置 Gmail 操作
控制台
如需使用控制台向应用添加操作,请执行以下操作:
- 在 Gemini Enterprise 中,前往 Gemini Enterprise 页面。
- 选择您的 Gemini Enterprise 应用。
- 在导航菜单中,点击操作。
添加操作:
如果这是您的第一个操作,请点击添加操作。
如果您之前创建了操作,请点击创建。
对于 Gmail,请点击关联。
输入操作连接器的名称。
为操作连接器输入授权信息:
- 在新客户端 ID 和新客户端密钥字段中,输入管理员在创建 OAuth 客户端凭证部分中创建的客户端 ID 和客户端密钥。
- 点击确认身份验证,然后向 Gemini Enterprise 应用授予对 Gmail 的访问权限。
选择要启用的操作。
点击完成设置。 您的操作会显示在操作页面上。
REST
如需使用 API 向应用添加操作,请执行以下操作。
为 Gmail 操作创建操作连接器。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-GFE-SSL: yes" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION:setUpDataConnector" \ -d '{ "collection_id":"CONNECTOR_ID", "collection_display_name":"CONNECTOR_DISPLAY_NAME", "data_connector":{ "data_source":"gmail", "action_config":{ "is_action_configured":true, "action_params":{ "client_id":"CLIENT_ID", "client_secret":"CLIENT_SECRET" } }, "connector_modes": ["ACTIONS"] } }'PROJECT_ID:您要在其中创建 Gmail 操作连接器的项目的 ID。LOCATION:Gmail 操作连接器的多区域:global、us或eu。CONNECTOR_ID:您要创建的连接器的 ID。此 ID 只能包含小写字母、数字、下划线和连字符。CONNECTOR_DISPLAY_NAME:您要创建的连接器的显示名称。CLIENT_ID:管理员在创建 OAuth 客户端凭证中创建的客户端 ID。CLIENT_SECRET:管理员在创建 OAuth 客户端凭证中创建的客户端密钥。
将您创建的 Gmail 操作连接器关联到现有应用。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=enabled_tools" \ -d '{ "name": "projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant", "enabled_tools": { "projects/PROJECT_ID/locations/LOCATION/collections/CONNECTOR_ID/dataConnector": { "tool_info": [ { "tool_name": "send_email", "tool_display_name": "Send Email" } ] } } }'PROJECT_ID:应用和 Gmail 操作连接器所在项目的 ID。LOCATION:应用和连接器的多区域:global、us或eu。APP_ID:您要将操作附加到的应用的 ID。CONNECTOR_ID:在上一步中创建的 Gmail 操作连接器的 ID。
添加操作后,助理可以在应用中代表最终用户执行这些操作。用户首次要求助理执行 Gmail 操作时,系统会要求用户授权访问其 Gmail 账号。
将 Google 日历和 Gmail 操作关联到应用
以下 API 请求演示了如何将 Google 日历和 Gmail 操作关联到现有应用。
curl -X PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-H "X-Goog-User-Project: PROJECT_ID" \
"https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=enabled_tools" \
-d '{
"name":"projects/PROJECT_ID/locations/LOCATION/collections/default_collection/engines/APP_ID/assistants/default_assistant",
"enabled_tools":{
"projects/PROJECT_ID/locations/LOCATION/collections/GMAIL_CONNECTOR_ID/dataConnector":{
"tool_info":[
{
"tool_name":"send_email",
"tool_display_name":"Send Email"
}
]
},
"projects/PROJECT_ID/locations/LOCATION/collections/CALENDAR_CONNECTOR_ID/dataConnector":{
"tool_info":[
{
"tool_name":"create_calendar_event",
"tool_display_name":"Create Calendar Event"
}
]
}
}
}'
PROJECT_ID:应用以及 Google 日历和 Gmail 操作连接器所在项目的 ID。LOCATION:应用和连接器的多区域:global、us或eu。APP_ID:您要将操作附加到的应用的 ID。CALENDAR_CONNECTOR_ID:在上一步中创建的 Google 日历操作连接器的 ID。GMAIL_CONNECTOR_ID:在上一步中创建的 Gmail 操作连接器的 ID。
添加操作后,助理可以在应用中代表最终用户执行这些操作。用户首次要求助理执行 Google 日历或 Gmail 操作时,系统会要求用户授权访问其账号。