Hangouts Chat:如何在传入事件请求中检索 project_id 或 client_id?
Hangouts Chat: how to retrieve project_id or client_id in incoming event request?
我在 Hangouts Chat 中设置了一个完全可操作的聊天机器人,由定制的网络服务器协调。我现在希望能够让这个网络服务器与我创建的其他 Hangouts 机器人交互,并将一些请求路由到我的其他一些服务器,这些服务器必须知道哪些机器人发起了事件。
对于其他提供程序,例如 Slack,app_id 在事件请求数据中提供。
但是对于视频群聊,情况并非如此。我在请求 body 或 headers 中找不到任何代表 project_id 或 client_id 的数据。
以更简单的方式,我的问题是:"How to identify the Hangouts bot that send me an event request?" :)
事件请求的响应将包含 Event instance in its body, which one of its fields will be an User object。该用户对象将包含一个 name
字段,该字段将代表用户的 ID(无论是人还是机器人)。
它看起来像这样:
{
"name": "users/<id>",
"displayName": "<name that appears in the chat>",
"type": "BOT"
}
一个月后,我终于抽出时间来回答我的问题:)
为了识别调用服务器的 Hangouts 项目,当您从 Hangouts Chat 收到事件时,您会在传入请求中找到 header Authorization
的值喜欢 Bearer abcd1234
。
如果您解码此 JWToken(即我们示例中的 abcd1234
),在结果数据中,您将有一个字段 aud
,它正是环聊应用的 "project number"。这个 "project number" 可以在“https://console.cloud.google.com/home/dashboard?project=referenceofyourprojecthere”找到。
我在 Hangouts Chat 中设置了一个完全可操作的聊天机器人,由定制的网络服务器协调。我现在希望能够让这个网络服务器与我创建的其他 Hangouts 机器人交互,并将一些请求路由到我的其他一些服务器,这些服务器必须知道哪些机器人发起了事件。 对于其他提供程序,例如 Slack,app_id 在事件请求数据中提供。 但是对于视频群聊,情况并非如此。我在请求 body 或 headers 中找不到任何代表 project_id 或 client_id 的数据。 以更简单的方式,我的问题是:"How to identify the Hangouts bot that send me an event request?" :)
事件请求的响应将包含 Event instance in its body, which one of its fields will be an User object。该用户对象将包含一个 name
字段,该字段将代表用户的 ID(无论是人还是机器人)。
它看起来像这样:
{
"name": "users/<id>",
"displayName": "<name that appears in the chat>",
"type": "BOT"
}
一个月后,我终于抽出时间来回答我的问题:)
为了识别调用服务器的 Hangouts 项目,当您从 Hangouts Chat 收到事件时,您会在传入请求中找到 header Authorization
的值喜欢 Bearer abcd1234
。
如果您解码此 JWToken(即我们示例中的 abcd1234
),在结果数据中,您将有一个字段 aud
,它正是环聊应用的 "project number"。这个 "project number" 可以在“https://console.cloud.google.com/home/dashboard?project=referenceofyourprojecthere”找到。