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

如何通过Webhook在Google Chat空间发送对齐的表格消息?

解决Google Chat中Markdown表格错位的问题

Google Chat的Markdown解析器对GitHub风格的表格(带对齐冒号的格式)支持不完善,这就是你用tabulate生成的表格在Teams显示正常但在Google Chat错位的核心原因。推荐改用Google Chat原生支持的结构化卡片消息来展示表格,这种方式更稳定且样式可控。

实现步骤

1. 构造Google Chat卡片格式的请求体

Google Chat Webhook支持发送带表格的结构化卡片,你需要把pandas DataFrame的数据转换成卡片要求的结构:

  • 在卡片的sections字段中添加tableWidget,包含表头(header)和行数据(rows)

2. 代码示例

import pandas as pd
import requests

# 示例DataFrame(替换为你的业务数据)
df = pd.DataFrame({
    "告警ID": ["ALM-001", "ALM-002", "ALM-003"],
    "级别": ["严重", "警告", "提示"],
    "描述": ["磁盘使用率超过90%", "内存使用率达75%", "备份任务延迟"]
})

# 转换为Google Chat表格卡片结构
table_header = [{"text": col} for col in df.columns]
table_rows = []
for _, row in df.iterrows():
    table_rows.append({"cells": [{"text": str(val)} for val in row.values]})

chat_payload = {
    "cardsV2": [
        {
            "cardId": "daily-alert-card",
            "card": {
                "header": {
                    "title": "每日告警汇总"
                },
                "sections": [
                    {
                        "widgets": [
                            {
                                "tableWidget": {
                                    "header": table_header,
                                    "rows": table_rows
                                }
                            }
                        ]
                    }
                ]
            }
        }
    ]
}

# 发送请求到Google Chat Webhook URL
webhook_url = "你的Google Chat Webhook地址"
response = requests.post(webhook_url, json=chat_payload)
response.raise_for_status()

3. 备选方案(纯文本兼容)

如果一定要用纯文本格式,可改用tabulate的plain格式生成无对齐标记的表格,避免解析冲突:

from tabulate import tabulate

# 生成纯文本表格
table_text = tabulate(df.values.tolist(), headers=df.columns, tablefmt="plain")
payload = {"text": f"每日告警汇总:\n{table_text}"}
requests.post(webhook_url, json=payload)

这种格式虽然没有对齐样式,但至少不会出现布局错乱的问题。

内容的提问来源于stack exchange,提问作者Devesh Poojari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 16:54:16