识别并指定 Google Chat 用户

本页面介绍了 Google Chat 应用识别或指定 Chat 用户的方法。

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

Chat 如何识别用户

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

  • name 是资源的资源名称,格式为 users/{user},其中 {user} 表示唯一且稳定的标识符。users/app 可用作发起调用的 Chat 应用的别名。
  • type 是用户类型。此类型会告知 Chat 用户是 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 属性的值: