以下页面介绍了如何为 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 和客户端密钥。
- 点击 Verify Auth,然后向 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 操作后,最终用户可以要求助理代为发送电子邮件。
例如,用户可以输入“向 user1@example.com 发送一封电子邮件,主题为‘你好’,内容为‘你最近怎么样?’”。如果需要,助理会询问更多详细信息,然后要求用户确认是否发送电子邮件。
助理可以通过操作读取和修改以下 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 和客户端密钥。
- 点击 Verify Auth,然后向 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 操作时,系统会要求用户授权访问其账号。