You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Chat机器人消息卡片限制及投票消息更新失败咨询

Google Chat卡片消息的官方限制及更新失败问题解析

官方权威限制规则

Google Chat的卡片消息限制核心基于JSON Payload的总字节大小,官方明确规定卡片消息的Payload最大为50KB。这个限制包含卡片的所有结构代码(如widget定义、标签、样式参数等)和文本内容,并非仅计算纯文本字符数。

除此之外,还有两个辅助限制需要注意:

  • 单张卡片内最多包含100个Widget元素(如文本块、按钮、图片等)
  • 单个文本块(TextParagraph)的字符上限为4096,和普通文本消息的限制一致

关于你遇到的更新失败问题

你测试中35000字符的卡片能成功更新、40000字符左右失败,本质是因为JSON Payload的总字节数接近或超过了50KB阈值:

  • 纯文本字符本身占用字节(UTF-8编码下大多数字符是1字节,特殊字符是2-4字节)
  • 卡片的JSON结构(比如"textParagraph": {"text": "..."}这类标签)会额外占用字节,导致实际可容纳的纯文本数量远小于50KB对应的字符数(50KB约等于5万左右的纯ASCII字符,但加上结构代码后会大幅减少)

另外,Webhook方式调用更新时,若Payload超限,Google Chat会静默丢弃请求,不会返回明确错误,这就是你看到“端点调用成功但消息未更新”的原因。改用REST API的PATCH请求更新消息时,会返回400 Bad Request的明确错误响应,便于排查。

建议解决方案

  1. 优先使用Google Chat REST API的消息更新接口,获取明确的错误反馈
  2. 优化卡片结构:移除不必要的Widget、简化样式参数,减少Payload的结构开销
  3. 拆分内容:如果投票数据过多,可将内容拆分到多张卡片中(需注意Chat消息最多可包含10张卡片)
  4. 提前计算Payload大小:将卡片的JSON转为字符串后统计字节数,确保不超过50KB

内容的提问来源于stack exchange,提问作者Muhammad Dyas Yaskur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 03:06:29