-1

我在 Hangouts Chat 中设置了一个完全可操作的聊天机器人,由定制的网络服务器编排。我现在希望能够让这个网络服务器与我创建的其他环聊机器人交互,并将一些请求路由到我的其他一些服务器,这些服务器必须知道哪些机器人启动了事件。对于其他提供者,例如 Slack,app_id 在事件请求数据中提供。但是对于环聊,情况并非如此。我在代表 project_id 或 client_id 的请求正文或标头中找不到任何数据。以更简单的方式,我的问题是:“如何识别向我发送事件请求的环聊机器人?” :)

4

2 回答 2

0

事件请求的响应将在其主体中包含一个Event 实例,其中一个字段将是一个User 对象。该 User 对象将包含一个name表示用户 ID 的字段(无论是人类还是机器人)。

它看起来像这样:

{
  "name": "users/<id>",
  "displayName": "<name that appears in the chat>",
  "type": "BOT" 
}
于 2020-01-20T09:59:54.790 回答
0

一个月后,我终于有时间回答我的问题了:)

为了识别正在调用您的服务器的环聊项目,当您收到来自环聊聊天的事件时,您会在传入的请求中找到Authorization其值类似于的标头Bearer abcd1234。如果您解码此 JWToken(即,abcd1234在我们的示例中),则在结果数据中,您将拥有一个字段,该字段aud正是您的环聊应用程序的“项目编号”。这个“项目编号”可以在“ https://console.cloud.google.com/home/dashboard?project=referenceofyourprojecthere ”找到。

于 2020-03-12T08:36:06.943 回答