创建和管理授权视图

您可以对授权视图和授权视图集执行以下管理操作。

必需的权限和角色

如需创建和管理授权视图集和授权视图,您需要拥有以下 IAM 权限。

授权视图集:

权限 说明
contactcenterinsights.authorizedViewSet.create 创建授权视图集。
contactcenterinsights.authorizedViewSet.get 获取有关授权视图集的详细信息。
contactcenterinsights.authorizedViewSet.update 更新现有的授权视图集。
contactcenterinsights.authorizedViewSet.delete 删除授权视图集。
contactcenterinsights.authorizedViewSet.list 列出项目中的授权视图集。

已获授权的视图:

权限 说明
contactcenterinsights.authorizedView.create 创建授权视图。
contactcenterinsights.authorizedView.get 获取有关授权视图的详细信息。
contactcenterinsights.authorizedView.update 更新现有授权视图。
contactcenterinsights.authorizedView.delete 删除授权视图。

如需授予对授权视图的访问权限,您需要以下权限:

权限 说明
contactcenterinsights.authorizedView.setIamPolicy 为已获授权的视图设置 IAM 政策。
contactcenterinsights.authorizedView.getIamPolicy 获取授权视图的 IAM 政策。

预定义角色

以下预定义的 IAM 角色提供了必需的权限:

角色 说明
roles/contactcenterinsights.editor 提供对所有 Customer Experience Insights 资源的读写权限。
roles/contactcenterinsights.admin 提供对所有 Customer Experience Insights 资源的读写权限。

授权视图集

授权视图集可对多个授权视图进行分组,并简化向这些视图授予权限的操作。

创建授权视图集

REST

如需创建授权视图集,您需要拥有 contactcenterinsights.authorizedViewSet.create 权限。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:客户体验数据分析数据的位置。
  • AUTHORIZED_VIEW_SET_ID:要创建的授权视图的可选用户定义标识符;此值必须为 1-63 个字符,以 [a-z0-9] 开头和结尾,并且可以在字符之间包含短划线 (-)
  • DISPLAY_NAME:授权视图集的描述性名称。

HTTP 方法和网址:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?authorized_view_set_id=AUTHORIZED_VIEW_SET_ID

请求 JSON 正文:

{
  "displayName": "DISPLAY_NAME"
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID",
  "displayName": "DISPLAY_NAME",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

读取授权视图集

REST

读取授权视图集需要 contactcenterinsights.authorizedViewSet.get 权限。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:客户体验数据分析数据的位置。
  • AUTHORIZED_VIEW_SET_ID:授权视图集的标识符。

HTTP 方法和网址:

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID",
  "displayName": "DISPLAY_NAME",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

更新授权视图集

REST

更新授权视图集需要 contactcenterinsights.authorizedViewSet.update 权限。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:客户体验数据分析数据的位置。
  • AUTHORIZED_VIEW_SET_ID:授权视图集的标识符。
  • DISPLAY_NAME:授权视图集的描述性名称。
  • UPDATE_MASK:要更新的字段。此值是以英文逗号分隔的字段列表。
    • display_name

HTTP 方法和网址:

PATCH https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID?update_mask=display_name

请求 JSON 正文:

{
  "displayName": "DISPLAY_NAME"
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID",
  "displayName": "DISPLAY_NAME",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

删除授权视图集

REST

删除授权视图集需要 contactcenterinsights.authorizedViewSet.delete 权限。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:客户体验数据分析数据的位置。
  • AUTHORIZED_VIEW_SET_ID:授权视图集的标识符。

HTTP 方法和网址:

DELETE https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{}

列出授权视图集

REST

列出授权视图集需要 contactcenterinsights.authorizedViewSet.list 权限。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:客户体验数据分析数据的位置。
  • PAGE_SIZE:要在响应中返回的授权视图集数量上限。如果值为零,则服务会选择默认大小。调用返回的对象数量可能少于请求的数量。如果响应中包含非空的 `next_page_token`,则表示还有更多数据。
  • PAGE_TOKEN:最后一个 `ListAuthorizedViewSetsResponse` 返回的值。此值表示这是之前的 `ListAuthorizedViewSets` 调用的延续,并且系统应返回下一页的数据。
  • FILTER:用于过滤授权视图集的表达式。例如:
    • create_time > "2022-01-01T00:00:00Z"
    • update_time < "2022-01-02T00:00:00Z"
    • display_name = "My Authorized View Set"
    • display_name =~ "My.*"
    • create_time > "2022-01-01T00:00:00Z" AND display_name = "My Authorized View Set"
    • create_time > "2022-01-01T00:00:00Z" OR display_name = "My Authorized View Set"
  • ORDER_BY:用于对响应中列出的授权视图集进行排序的表达式。例如:
    • create_time
    • create_time desc
    • update_time
    • update_time desc
    • display_name
    • display_name desc

HTTP 方法和网址:

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?page_size=PAGE_SIZE&page_token=PAGE_TOKEN&filter=FILTER&order_by=ORDER_BY

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "authorizedViewSets": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID",
      "displayName": "My Authorized View Set",
      "createTime": "2022-01-01T00:00:00.000000Z",
      "updateTime": "2022-01-01T00:00:00.000000Z"
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID_2",
      "displayName": "Another Authorized View Set",
      "createTime": "2022-01-02T00:00:00.000000Z",
      "updateTime": "2022-01-02T00:00:00.000000Z"
    },
  ],
  "nextPageToken": "NEXT_PAGE_TOKEN"
}

已获授权的视图

授权视图用于定义受限数量的对话以及代理或经理在这些对话中的角色。

创建授权视图

REST

创建授权视图需要 contactcenterinsights.authorizedView.create 权限。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:客户体验数据分析数据的位置。
  • AUTHORIZED_VIEW_SET_ID:相应授权视图所属的授权视图集的标识符。
  • AUTHORIZED_VIEW_ID:要创建的授权视图的可选用户定义标识符;此值必须为 1-63 个字符,以 [a-z0-9] 开头和结尾,并且可以在字符之间包含短划线 (-)。
  • DISPLAY_NAME:授权视图集的描述性名称。
  • CONVERSATION_FILTER:要应用于数据的过滤条件。您可以使用以下字段:`agent_id`。
    • agent_id = "agent_123"
    • agent_id = "agent_123" OR agent_id = "agent_456"
    • quality_metadata.agent_info.agent_id: "agent_456"
    • quality_metadata.agent_info.teams: "team_123"

HTTP 方法和网址:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews?authorized_view_id=AUTHORIZED_VIEW_ID

请求 JSON 正文:

{
  "displayName": "DISPLAY_NAME",
  "conversation_filter": "CONVERSATION_FILTER"
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID",
  "displayName": "DISPLAY_NAME",
  "conversationFilter": "CONVERSATION_FILTER",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

读取授权视图

REST

读取已获授权的视图需要 contactcenterinsights.authorizedView.get 权限。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:客户体验数据分析数据的位置。
  • AUTHORIZED_VIEW_SET_ID:授权视图集的标识符。
  • AUTHORIZED_VIEW_ID:授权视图的标识符。

HTTP 方法和网址:

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID",
  "displayName": "DISPLAY_NAME",
  "conversationFilter": "CONVERSATION_FILTER",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

更新授权视图

REST

更新授权视图需要 contactcenterinsights.authorizedView.update 权限。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:客户体验数据分析数据的位置。
  • AUTHORIZED_VIEW_SET_ID:相应授权视图所属的授权视图集的标识符。
  • AUTHORIZED_VIEW_ID:要更新的已获授权视图的标识符。
  • DISPLAY_NAME:授权视图集的描述性名称。
  • CONVERSATION_FILTER:要应用于数据的过滤条件。您可以使用以下字段:`agent_id`。
    • agent_id = "agent_123"
    • agent_id = "agent_123" OR agent_id = "agent_456"
    • quality_metadata.agent_info.agent_id: "agent_456"
    • quality_metadata.agent_info.teams: "team_123"
  • UPDATE_MASK:要更新的字段。此值是以英文逗号分隔的字段列表。
    • display_name
    • conversation_filter

HTTP 方法和网址:

PATCH https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID?update_mask=display_name,conversation_filter

请求 JSON 正文:

{
  "displayName": "DISPLAY_NAME",
  "conversation_filter": "CONVERSATION_FILTER"
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID",
  "displayName": "DISPLAY_NAME",
  "conversationFilter": "CONVERSATION_FILTER",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

删除已获授权的视图

REST

删除授权视图需要 contactcenterinsights.authorizedView.delete 权限。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:客户体验数据分析数据的位置。
  • AUTHORIZED_VIEW_SET_ID:授权视图集的标识符。
  • AUTHORIZED_VIEW_ID:授权视图的标识符。

HTTP 方法和网址:

DELETE https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{}

列出授权视图

REST

列出授权视图集需要 contactcenterinsights.authorizedViews.list 权限。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:客户体验数据分析数据的位置。
  • AUTHORIZED_VIEW_SET_ID:用户定义的授权视图集标识符。
  • PAGE_SIZE:响应中要返回的视图数量上限。如果值为零,则服务会选择默认大小。调用返回的对象数量可能少于请求的数量。如果响应中包含非空的 `next_page_token`,则表示还有更多数据。
  • PAGE_TOKEN:最后一个 `ListAuthorizedViewsResponse` 返回的值。此值表示这是之前的 `ListAuthorizedViews` 调用的延续,并且系统应返回下一页的数据。
  • FILTER:用于过滤响应中列出的已获授权视图的过滤条件表达式。您可以按以下字段进行过滤:`authorized_view_id`、`display_name`、`conversation_filter`、`create_time` 和 `update_time`。您可以使用任意和/或表达式。您还可以对字符串字段使用正则表达式。
    • 示例:display_name = "My View"
    • 示例:conversation_filter =~ ".*agent-1.*"
    • 示例:create_time > "2022-01-01T00:00:00Z"
    • 示例:display_name =~ ".*View.*"
    • 示例:create_time > "2022-01-01T00:00:00Z" AND create_time <= "2022-01-02T00:00:00Z"
  • ORDER_BY:用于对响应中列出的授权视图进行排序的排序依据表达式。
    • 示例:create_time
    • 示例:update_time desc

HTTP 方法和网址:

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews?page_size=PAGE_SIZE&page_token=PAGE_TOKEN&filter=FILTER&order_by=ORDER_BY

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "authorizedViews": [
    {
      "name": "projects/my-project/locations/us-central1/authorizedViewSets/my-view-set/authorizedViews/my-view-1",
      "displayName": "My First View",
      "conversationFilter": "agent_id = \"agent-1\"",
      "createTime": "2022-01-01T00:00:00.000000Z",
      "updateTime": "2022-01-01T00:00:00.000000Z"
    },
    {
      "name": "projects/my-project/locations/us-central1/authorizedViewSets/my-view-set/authorizedViews/my-view-2",
      "displayName": "My Second View",
      "conversationFilter": "agent_id = \"agent-2\"",
      "createTime": "2022-01-01T00:00:00.000000Z",
      "updateTime": "2022-01-01T00:00:00.000000Z"
    }
  ],
  "nextPageToken": "next-page-token"
}

为已获授权的视图设置 IAM 政策

REST

在授权视图上设置 IAM 政策需要 contactcenterinsights.authorizedView.setIamPolicy 权限。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:客户体验数据分析数据的位置。
  • AUTHORIZED_VIEW_SET_ID:授权视图集的标识符。
  • AUTHORIZED_VIEW_ID:授权视图的标识符。
  • PRINCIPAL:您要向其授予访问权限的主账号(用户)。
  • ROLE:要向用户授予的角色。

HTTP 方法和网址:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID:setIamPolicy

请求 JSON 正文:

{
  "policy": {
    "bindings": [
      {
        "role": "roles/ROLE",
        "members": [
          "PRINCIPAL"
        ]
      }
    ]
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/ROLE",
      "members": [
        "PRINCIPAL"
      ]
    }
  ]
}

读取授权视图的 IAM 政策

REST

读取授权视图的 IAM 政策需要 contactcenterinsights.authorizedView.getIamPolicy 权限。

在使用任何请求数据之前,请先进行以下替换:

  • PROJECT_ID:您的 Google Cloud 项目 ID。
  • LOCATION:客户体验数据分析数据的位置。
  • AUTHORIZED_VIEW_SET_ID:授权视图集的标识符。
  • AUTHORIZED_VIEW_ID:授权视图的标识符。

HTTP 方法和网址:

GET https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/AUTHORIZED_VIEW_SET_ID/authorizedViews/AUTHORIZED_VIEW_ID:getIamPolicy

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/ROLE",
      "members": [
        "PRINCIPAL"
      ]
    }
  ]
}

组织设置示例

此示例演示了如何为简化的组织设置授权视图。此示例使用 REST API 在名为 acme-corp 的虚构项目中创建和管理资源。

Acme 的结构如下:

  • Alice:Alice 是项目的管理员。
    • Bob:Bob 是管理员。
    • Carol:Carol 是一个代理。
    • Dave:Dave 是一个代理。

每个用户都有一个与电子邮件地址关联的主账号标识符

  • Alice 的是 user:admin.alice@acme.com
  • Bob 的是 user:manager.bob@acme.com
  • Carol 的是 user:agent.carol@acme.com
  • Dave 的是 user:agent.dave@acme.com

每个代理都有一个 agent_id,该 agent_id 对应于其对话的 Conversation.agent_id 字段。

  • Carol 的是 agent-carol
  • Dave 的是 agent-dave

要求

每位用户都需要以下级别的访问权限:

  • 管理员访问权限:作为管理员,Alice 拥有对所有数据和资源的完整访问权限。
  • 经理访问权限:作为经理,Bob 可以创建、修改和查看其各自团队的对话和分析。
  • 客服访问权限:作为客服,Carol 和 Dave 只能查看他们参与的对话和分析。

第 1 步:授予项目访问权限

将所有用户添加到项目并授予他们 roles/browser。此角色允许他们查看项目及其资源。

向用户授予项目浏览者角色

以下代码说明了如何向 Acme 的每个成员授予浏览器角色。

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:admin.alice@acme.com" \
    --role="roles/browser"

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:manager.bob@acme.com" \
    --role="roles/browser"

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:agent.carol@acme.com" \
    --role="roles/browser"

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:agent.dave@acme.com" \
    --role="roles/browser"

如需了解详情,请参阅授予单个角色

您还可以使用 Google 群组来管理对项目的访问权限。您可以向群组授予 roles/browser,而不是向单个用户授予权限。例如,您可以创建一个名为 project-browsers@acme.com 的群组,并将 Bob 添加到该群组。然后,您可以向此群组授予 roles/browser 角色。如需了解详情,请参阅 Google 群组

第 2 步:向管理员授予项目级权限

在项目级层授予管理员 roles/contactcenterinsights.admin 角色。例如,Alice 是 Acme 的管理员,因此她将通过此角色获得对所有资源的完全访问权限。

授予管理员角色

以下代码展示了如何向 Alice 授予管理员角色:

gcloud projects add-iam-policy-binding acme-corp \
    --member="user:admin.alice@acme.com" \
    --role="roles/contactcenterinsights.admin"

第 3 步:创建授权视图集

创建两个授权视图集,用于将经理和客服人员的授权视图分组。

创建编辑者授权视图集

REST

此示例创建了一个名为 editor-view-set 的授权视图集,用于对具有管理员权限的视图进行分组。

HTTP 方法和网址:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?authorized_view_set_id=editor-view-set

请求 JSON 正文:

{
  "displayName": "Editor View Set"
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/editor-view-set",
  "displayName": "Editor View Set",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

创建查看者授权视图集

REST

此示例创建了一个名为 viewer-view-set 的授权视图集,用于对具有代理权限的视图进行分组。

HTTP 方法和网址:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets?authorized_view_set_id=viewer-view-set

请求 JSON 正文:

{
  "displayName": "Viewer View Set"
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/viewer-view-set",
  "displayName": "Viewer View Set",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z"
}

第 4 步:向授权视图集授予项目级权限

授权视图是具有内置身份的资源,需要权限才能访问 {product_name} 数据。如需向授权视图授予访问对话和操作的权限,请向其授予以下角色:

  • roles/contactcenterinsights.editor(适用于 editor-view-set 中的所有授权视图)
  • roles/contactcenterinsights.viewer(适用于 viewer-view-set 中的所有授权视图)

如需了解详情,请参阅授予或撤消角色

editor-view-set 授予编辑者角色

此示例向 editor-view-set 授予 roles/contactcenterinsights.editor

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="principalSet://contactcenterinsights.googleapis.com/projects/PROJECT_NUMBER/type/AuthorizedView/ancestor.name/authorizedViewSets/editor-view-set" \
    --role="roles/contactcenterinsights.editor"

viewer-view-set 授予查看者角色

此示例向 viewer-view-set 授权视图集授予 roles/contactcenterinsights.viewer 角色。

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="principalSet://contactcenterinsights.googleapis.com/projects/PROJECT_NUMBER/type/AuthorizedView/ancestor.name/authorizedViewSets/viewer-view-set" \
    --role="roles/contactcenterinsights.viewer"

第 5 步:创建授权视图

为每位经理和客服人员创建授权视图,并应用相应的过滤条件。

创建经理的授权视图

REST

此示例创建了一个 ID 为 bobs-editor-view 的已获授权的视图,该视图可过滤 agent_id = carol OR agent_id = dave 上的对话。

HTTP 方法和网址:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViews?authorized_view_id=bobsEditorView

请求 JSON 正文:

{
  "displayName": "Bob's Editor View",
  "value": {
    "filter": "agent_id = \"agent-carol\" OR agent_id = \"agent-dave\""
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViews/bobs-editor-view",
  "displayName": "Bob's Editor View",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z",
  "conversationFilter":"agent_id = \"agent-carol\" OR agent_id = \"agent-dave\""
}

向经理授予“授权编辑者”角色

REST

此示例向 Acme 的经理 Bob 授予了 bobs-editor-viewroles/contactcenterinsights.authorizedEditor

HTTP 方法和网址:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/editor-view-set/authorizedViews/bobs-editor-view:setIamPolicy

请求 JSON 正文:

{
  "policy": {
    "bindings": [
      {
        "role": "roles/contactcenterinsights.editor",
        "members": [
          "user:manager.bob@acme.com"
        ]
      }
    ]
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/contactcenterinsights.editor",
      "members": [
        "user:manager.bob@acme.com"
      ]
    }
  ]
}

创建客服人员的授权视图

REST

此示例为名为 Carol 的 Acme 代理创建了一个授权视图。此授权视图的 ID 为 carols-viewer-view,用于过滤 agent_id = agent-carol 的对话。

HTTP 方法和网址:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViews?authorized_view_id=carols-viewer-view

请求 JSON 正文:

{
  "displayName": "Carol's Viewer View",
  "value": {
    "filter": "agent_id = \"agent-carol\""
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViews/carols-viewer-view",
  "displayName": "Carol's Viewer View",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z",
  "conversationFilter": "agent_id = \"agent-carol\""
}

向代理授予“授权查看者”角色

REST

此示例向 Carol 授予了 carols-viewer-viewroles/contactcenterinsights.authorizedViewer

HTTP 方法和网址:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/viewer-view-set/authorizedViews/carols-viewer-view:setIamPolicy

请求 JSON 正文:

{
  "policy": {
    "bindings": [
      {
        "role": "roles/contactcenterinsights.viewer",
        "members": [
          "user:agent.carol@acme.com"
        ]
      }
    ]
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/contactcenterinsights.viewer",
      "members": [
        "user:agent.carol@acme.com"
      ]
    }
  ]
}

创建其他代理的授权视图

REST

此示例为 Acme 代理 Dave 创建了一个授权视图。此授权视图的 ID 为 daves-viewer-view,用于过滤 agent_id = agent-dave 的对话。

HTTP 方法和网址:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViews?authorized_view_id=daves-viewer-view

请求 JSON 正文:

{
  "displayName": "Dave's Viewer View",
  "value": {
    "filter": "agent_id = \"agent-dave\""
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/authorizedViews/daves-viewer-view",
  "displayName": "Dave's Viewer View",
  "createTime": "2022-01-01T00:00:00.000000Z",
  "updateTime": "2022-01-01T00:00:00.000000Z",
  "conversationFilter": "agent_id = \"agent-dave\""
}

向其他代理授予 Authorized Viewer 角色

REST

此示例向 daves-viewer-view 上的 Dave 授予了 roles/contactcenterinsights.authorizedViewer

HTTP 方法和网址:

POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/authorizedViewSets/viewer-view-set/authorizedViews/daves-viewer-view:setIamPolicy

请求 JSON 正文:

{
  "policy": {
    "bindings": [
      {
        "role": "roles/contactcenterinsights.viewer",
        "members": [
          "user:agent.dave@acme.com"
        ]
      }
    ]
  }
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
  "version": 1,
  "etag": "BwW...",
  "bindings": [
    {
      "role": "roles/contactcenterinsights.viewer",
      "members": [
        "user:agent.dave@acme.com"
      ]
    }
  ]
}

后续步骤