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

是否有Python函数提取Smartsheet单元格历史?API编码位置咨询

问题解答

权限问题前置说明

你遇到的两个权限报错本质是Smartsheet的权限控制限制——不管用UI还是API,只要账号没有对应权限(比如工作表的查看历史权限、单元格详情权限),都没法获取数据。所以第一步要确认你的账号是否被工作表管理员授予了查看版本历史或查看单元格详情的权限,这是前提,不然编码再对也没用。

编码操作的归属

所有编码逻辑都在Python中实现,Smartsheet这边只需要完成两个前置配置:

  • 在Smartsheet的「个人设置」里生成一个API密钥(API Token),这是Python代码调用API的身份凭证。
  • 确保你的API密钥对应的账号,拥有目标工作表的查看单元格历史权限(如果权限不够,找管理员调整)。

Python代码核心逻辑示例

用Smartsheet官方的Python SDK来实现,核心步骤如下:

  1. 安装SDK:
pip install smartsheet-python-sdk
  1. 编写代码调用API获取单元格历史:
import smartsheet

# 初始化客户端,替换成你的API密钥
smartsheet_client = smartsheet.Smartsheet('YOUR_API_TOKEN')
smartsheet_client.errors_as_exceptions(True)

try:
    # 替换为目标工作表ID、行ID、列ID
    sheet_id = 123456789
    row_id = 987654321
    column_id = 112233445

    # 获取单元格历史
    cell_history = smartsheet_client.Cells.get_cell_history(
        sheet_id,
        row_id,
        column_id,
        include_all=True  # 获取所有历史记录,否则只返回最近的
    )

    # 打印历史记录
    for entry in cell_history:
        print(f"修改时间: {entry.modified_at}")
        print(f"修改人: {entry.modified_by.name}")
        print(f"旧值: {entry.old_value}")
        print(f"新值: {entry.new_value}\n")

except smartsheet.exceptions.ApiError as e:
    print(f"API调用错误: {e}")

注意:如果运行代码还是报权限错误,直接找工作表管理员确认权限配置,API的权限和UI权限是完全同步的。

内容的提问来源于stack exchange,提问作者Varun Samadaria

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 05:09:55