添加 Outlook 日历和电子邮件操作

以下页面介绍了如何为 Outlook 电子邮件和 Outlook 日历设置操作。

添加 Outlook 电子邮件操作

启用 Outlook 电子邮件操作后,最终用户可以要求 Google 助理代为发送电子邮件。

例如,用户可以输入“给 userA@example.com 发送一封电子邮件,主题为‘今天的会议’,内容为‘议程是什么?’”。助理会根据需要询问更多详细信息,然后要求用户确认是否发送电子邮件。

助理可以通过操作读取和修改以下 Outlook 字段:

字段 说明
收件人 必需。收件人电子邮件地址列表。
主题 必需。电子邮件主题
内容 必需。电子邮件的内容(采用 Markdown 格式)。
CC 电子邮件的“抄送”列表。
密送 电子邮件的密送列表。

为 Outlook 电子邮件设置身份验证和权限

在启用 Outlook 操作之前,管理员必须为 Outlook 设置身份验证和权限。

以下流程适用于 Outlook 电子邮件和 Outlook 日历操作。 如果您打算同时使用电子邮件和日历操作,请在启用范围的过程中同时启用这两个范围。

创建 OAuth 应用并添加范围

  1. 登录 https://portal.azure.com/,然后前往应用注册页面。
  2. 点击 New registration(新注册)。

    1. 为应用命名。
    2. 对于重定向 URI:
      • 对于平台类型,选择 Web
      • 添加以下重定向 URI:https://vertexaisearch.cloud.google.com/oauth-redirect
  3. 证书和密钥下,创建新的客户端密钥。记下客户端密钥。仅在创建后立即显示。

如需启用必需的范围,请执行以下操作:

  1. 前往 Azure 应用中的 API 权限设置页面。
  2. 点击添加权限
  3. 选择 Microsoft Graph
  4. 选择委托权限
  5. 添加以下范围:
    1. offline_access
    2. User.Read
    3. Calendars.ReadWrite(如果需要执行日历操作)
    4. Mail.Send(如果需要电子邮件操作)

根据 Azure 中的组织设置类型,您可以省略启用范围的最后一步。

配置 Outlook 电子邮件操作

在开始之前,请确保 Google Cloud 管理员已完成为 Outlook 电子邮件设置身份验证和权限中的步骤,并向您提供以下信息:

  • 客户端 ID
  • 客户端密钥
  • 租户 ID(在 API 中称为实例 ID)

使用 API 配置 Outlook 电子邮件操作

如需使用 API 向应用添加操作,请执行以下操作。

以下说明可用于配置 Outlook 电子邮件和日历操作。如果您已配置 Outlook 日历操作,则无需再次执行这些步骤。

  1. 如果您尚未将 Outlook 数据与 Gemini Enterprise 相关联,请创建 Outlook 接口。如果您已有 Outlook 连接器,请前往下一步。

    SERVER=https://discoveryengine.googleapis.com
    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_NUMBER" \
    "$SERVER/v1alpha/projects/PROJECT_NUMBER/locations/global:setUpDataConnector" \
    -d '{
      "collectionId": "COLLECTION_ID",
      "collectionDisplayName": "YOUR_COLLECTION_DISPLAY_NAME",
      "dataConnector": {
        "dataSource": "outlook",
        "params": {
          "instance_id": "INSTANCE_ID",
          "client_id": "CLIENT_ID",
          "client_secret": "CLIENT_SECRET"
        },
        "refreshInterval": "86400s",
        "entities": [
          {
            "entityName": "mail"
          },
          {
            "entityName": "mail-attachment"
          },
          {
            "entityName": "calendar"
          },
          {
            "entityName": "contact"
          }
        ],
        "syncMode": "PERIODIC",
      }
    }'
    

    替换以下内容:

  2. 在 Outlook 连接器中添加操作配置:

    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token --project "PROJECT_NUMBER")" \
      -H "Content-Type: application/json" \
      -H "X-Goog-User-Project: PROJECT_NUMBER" \
      "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/global/collections/COLLECTION_ID/dataConnector?update_mask=action_config" \
      -d '{
      "name": "projects/PROJECT_NUMBER/locations/global/collections/COLLECTION_ID/dataConnector",
      "actionConfig": {
          "isActionConfigured": true,
          "actionParams": {
            "client_id": "CLIENT_ID",
            "client_secret": "CLIENT_SECRET",
            "instance_id": "INSTANCE_ID",
          }
        }
      }'
    

    替换以下内容:

  3. 为助理启用 Outlook 操作。如果您只需要电子邮件操作,请省略日历的条目。

    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token --project "PROJECT_NUMBER")" \
      -H "Content-Type: application/json" \
      -H "X-Goog-User-Project: PROJECT_NUMBER" \
      "$SERVER/v1alpha/projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=enabledActions" \
      -d '{
        "name": "projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant",
        "enabledActions": {
          "projects/PROJECT_NUMBER/locations/global/collections/COLLECTION_ID/dataConnector": {
            "actionInfo": [
              {
                "actionName": "send_email",
                "actionDisplayName": "Send Outlook email"
              },
              {
                "actionName": "create_calendar_event",
                "actionDisplayName": "Create Outlook calendar event"
              }
            ]
          }
        }
      }'
    

    替换以下内容:

    • PROJECT_ID:应用和 Outlook 连接器所在项目的 ID。
    • LOCATION:应用和连接器的多区域:globaluseu
    • APP_ID:您要将操作附加到的应用的 ID。
    • COLLECTION_ID:在上一步中创建的 Outlook 连接器的 ID。

添加操作后,Google 助理可以在应用中代表最终用户执行这些操作。用户首次要求 Google 助理执行 Outlook 操作时,系统会要求用户授权访问其 Outlook 账号。用户必须拥有 Gemini Enterprise Enterprise Plus 许可才能使用该助理。

添加 Outlook 日历操作

启用 Outlook 日历操作后,最终用户可以要求助理为其创建日历活动。

例如,用户可以输入“安排在 11 月 4 日星期五上午 11 点与 userA@example.com 举行会议”。如果需要,助理会询问更多详细信息,然后要求用户确认是否创建活动。

助理可以通过操作读取和修改以下 Outlook 日历字段:

字段 说明
参加者 必需。参会者的电子邮件地址列表。请求用户会自动添加到列表中。
标题 会议的标题。
开始时间 会议的开始时间。
时长 会议时长。默认值为 30 分钟。
时区 会议的时区。如果未提供,则使用用户的时区。
说明 会议说明。

为 Outlook 日历设置身份验证和权限

在启用 Outlook 操作之前,管理员必须为 Outlook 设置身份验证和权限。

以下流程适用于 Outlook 电子邮件和 Outlook 日历操作。 如果您打算同时使用电子邮件和日历操作,请在启用范围的过程中同时启用这两个范围。

创建 OAuth 应用并添加范围

  1. 登录 https://portal.azure.com/,然后前往应用注册页面。
  2. 点击 New registration(新注册)。

    1. 为应用命名。
    2. 对于重定向 URI:
      • 对于平台类型,选择 Web
      • 添加以下重定向 URI:https://vertexaisearch.cloud.google.com/oauth-redirect
  3. 证书和密钥下,创建新的客户端密钥。记下客户端密钥。仅在创建后立即显示。

如需启用必需的范围,请执行以下操作:

  1. 前往 Azure 应用中的 API 权限设置页面。
  2. 点击添加权限
  3. 选择 Microsoft Graph
  4. 选择委托权限
  5. 添加以下范围:
    1. offline_access
    2. User.Read
    3. Calendars.ReadWrite(如果需要执行日历操作)
    4. Mail.Send(如果需要电子邮件操作)

根据 Azure 中的组织设置类型,您可以省略启用范围的最后一步。

配置 Outlook 日历操作

在开始之前,请确保 Microsoft Outlook 管理员已完成为 Outlook 日历设置身份验证和权限中的步骤,并向您提供以下信息:

  • 客户端 ID
  • 客户端密钥
  • 租户 ID(在 API 中称为实例 ID)

使用 API 配置 Outlook 日历操作

以下说明可用于配置 Outlook 电子邮件和日历操作。如果您已配置 Outlook 电子邮件操作,则无需再次执行这些步骤。

如需使用 API 向应用添加操作,请执行以下操作。

  1. 如果您尚未将 Outlook 数据与 Gemini Enterprise 相关联,请创建 Outlook 接口。如果您已有 Outlook 连接器,请前往下一步。

    SERVER=https://discoveryengine.googleapis.com
    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_NUMBER" \
    "$SERVER/v1alpha/projects/PROJECT_NUMBER/locations/global:setUpDataConnector" \
    -d '{
      "collectionId": "COLLECTION_ID",
      "collectionDisplayName": "YOUR_COLLECTION_DISPLAY_NAME",
      "dataConnector": {
        "dataSource": "outlook",
        "params": {
          "instance_id": "INSTANCE_ID",
          "client_id": "CLIENT_ID",
          "client_secret": "CLIENT_SECRET"
        },
        "refreshInterval": "86400s",
        "entities": [
          {
            "entityName": "mail"
          },
          {
            "entityName": "mail-attachment"
          },
          {
            "entityName": "calendar"
          },
          {
            "entityName": "contact"
          }
        ],
        "syncMode": "PERIODIC",
      }
    }'
    

    替换以下内容:

  2. 在 Outlook 连接器中添加操作配置:

    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token --project "PROJECT_NUMBER")" \
      -H "Content-Type: application/json" \
      -H "X-Goog-User-Project: PROJECT_NUMBER" \
      "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_NUMBER/locations/global/collections/COLLECTION_ID/dataConnector?update_mask=action_config" \
      -d '{
      "name": "projects/PROJECT_NUMBER/locations/global/collections/COLLECTION_ID/dataConnector",
      "actionConfig": {
          "isActionConfigured": true,
          "actionParams": {
            "client_id": "CLIENT_ID",
            "client_secret": "CLIENT_SECRET",
            "instance_id": "INSTANCE_ID",
          }
        }
      }'
    

    替换以下内容:

  3. 为助理启用 Outlook 操作。

    您可以在界面上将新的数据连接器与助理相关联。您需要使用以下 API 命令来启用 Outlook 操作:

    SERVER=https://discoveryengine.googleapis.com
    PROJECT_NUMBER={YOUR PROJECT_NUMBER}
    ENGINE_ID="{YOUR ENGINE ID}"
    CONNECTOR_ID="{THE CONNECTOR'S COLLECTION ID YOU GENERATED IN PREVIOUS STEP}"
    
    curl -X PATCH \
      -H "Authorization: Bearer $(gcloud auth print-access-token --project "PROJECT_NUMBER")" \
      -H "Content-Type: application/json" \
      -H "X-Goog-User-Project: PROJECT_NUMBER" \
      "$SERVER/v1alpha/projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant?update_mask=enabledActions" \
      -d '{
        "name": "projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID/assistants/default_assistant",
        "enabledActions": {
          "projects/PROJECT_NUMBER/locations/global/collections/COLLECTION_ID/dataConnector": {
            "actionInfo": [
              {
                "actionName": "send_email",
                "actionDisplayName": "Send Outlook email"
              },
              {
                "actionName": "create_calendar_event",
                "actionDisplayName": "Create Outlook calendar event"
              }
            ]
          }
        }
      }'
    

    替换以下内容:

    • PROJECT_ID:应用和 Outlook 连接器所在项目的 ID。
    • APP_ID:您要将操作附加到的应用的 ID。
    • COLLECTION_ID:在上一步中创建的 Outlook 连接器的 ID。

添加操作后,Google 助理可以在应用中代表最终用户执行这些操作。用户首次要求 Google 助理执行 Outlook 操作时,系统会要求用户授权访问其 Outlook 账号。用户必须拥有 Gemini Enterprise Enterprise Plus 许可才能使用该助理。