识别并指定 Google Chat 用户

本页介绍了 Google Chat 应用可以识别或指定 Chat 用户的方式。

如需执行以下任何操作,Chat 应用都必须指定用户:

Chat 如何识别用户

Google Chat API 会为每个使用 Chat 的用户生成一个 User 资源。以下是两个重要的 User 字段:

  • name 是资源的资源名称,格式为 users/{user},其中 {user} 表示唯一且稳定的标识符。users/app 可用作发起调用的 Chat 应用的别名。
  • type 是用户类型。此类型用于告知 Chat 用户是 Chat 应用还是个人。对于聊天应用,该值为 BOT。对于人员,该值为 HUMAN

在调用 Google Chat API 时指定用户

如需指定用户,请为 {user} 值使用以下值:

  • 对于贵组织中的 Google Workspace 用户,请使用以下方法之一:

    • Chat API 中 User 资源name,例如 users/123456789
    • People API 中 Person 资源的名称的 {person_id},其中 resourceNamepeople/{person_id};例如,Chat API 中的 users/123456789 代表 People API 中的 people/123456789 所代表的同一人。
    • Directory API 中 User 资源的 id。例如,Chat API 中的 users/123456789 代表与 Directory API 中的 users/123456789 相同的用户。
  • 对于外部 Google Workspace 组织中的用户或使用 Google 账号的用户,请使用电子邮件别名,例如 users/EMAIL_USERNAME@WORKSPACE_DOMAIN.comusers/EMAIL_USERNAME@gmail.com

从互动事件中识别用户

每当用户与 Chat 应用互动时,Chat 都会发送包含互动和用户相关信息的互动事件。例如,当用户在消息中提及 Chat 应用时,Chat 应用会收到与该互动相关的信息,包括消息内容以及发件人。Chat 应用在检索 Chat 资源的相关信息时会引用用户。

如需识别与 Chat 应用互动的用户,请获取 User 资源上的 name 属性的值,您可以从 Event.user.name 获取该值。

以下 JSON 示例展示了与 Chat 应用互动时用户身份的预期格式:

{
  ...,
  "user": {
    "name": "users/12345678901234567890",
    "displayName": "Sasha",
    "avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
    "email": "sasha@example.com"
  }
}

消息是一种特定类型的互动。如需识别向 Chat 应用发送消息的用户,请使用以下任一方法获取 User 资源上的 name 属性的值: