Google Chat API/Webhook:如何以引用回复的方式回复消息?
如何通过Google Chat Webhook实现引用回复?
我目前用Python通过Webhook发送Google Chat消息,已经能通过threadKey=some-unique-key&messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD参数回复现有线程(无对应线程时自动创建新线程)。但Google Chat GUI里的「引用回复」功能,不知道怎么通过Webhook实现,想请教具体方法。
实现方法
要通过Webhook发送引用消息,核心是在请求体中添加quotedMessage字段,传入被引用消息的唯一标识符name。
步骤1:获取被引用消息的name
消息的name格式为spaces/{空间ID}/messages/{消息ID},可以通过两种方式获取:
- 调用Google Chat API的消息列表接口获取;
- 在Google Chat GUI中右键目标消息,选择「查看消息详情」,在详情页中找到消息的唯一标识(需对应权限)。
步骤2:构造请求并发送
使用Python的requests库构造包含引用信息的请求体,发送到Webhook地址即可。示例代码如下:
import requests # 替换为你的Webhook地址 WEBHOOK_URL = "https://chat.googleapis.com/v1/spaces/xxx/messages?key=xxx&token=xxx" # 替换为实际的被引用消息name quoted_msg_name = "spaces/abc123/messages/def456" # 构造请求体 request_body = { "text": "这是针对引用消息的回复内容", "quotedMessage": { "name": quoted_msg_name }, # 若需在指定线程内回复,添加thread参数 "thread": { "threadKey": "some-unique-key" } } # 发送POST请求 response = requests.post(WEBHOOK_URL, json=request_body) response.raise_for_status() print("引用消息发送成功")
额外说明
- 如果需要沿用之前的线程回复逻辑,可以把
messageReplyOption参数追加到Webhook URL的查询参数中,比如:WEBHOOK_URL = "原地址?messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD" - 确保
quotedMessage中的name是有效且可访问的消息标识,否则引用效果不会生效。
内容的提问来源于stack exchange,提问作者moor-np
相关产品推荐
相关产品推荐

