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

使用Smartsheet Node.js SDK添加行时如何设置行缩进?

解决Smartsheet API添加缩进行的问题

你遇到的核心问题是误解了indent属性的用法——Smartsheet API中,行的缩进是通过**父行ID(parentId)**构建层级关系实现的,而非直接指定indent数值。以下是正确的实现方式:

正确请求体示例

同一请求中添加父行和缩进子行(用临时ID关联)

如果要在一个请求里完成父行和子行的添加,不需要提前获取父行ID,可使用临时负ID关联:

const myRowObj = [
  // 父行,设置临时ID用于关联
  {
    id: -1,
    cells: [
      {
        columnId: 3811134080870276,
        value: 'no indent',
      },
      {
        columnId: 8314733708240772,
        value: "this line has no indent"
      }
    ]
  },
  // 子行,通过临时parentId关联到父行,自动缩进一级
  {
    parentId: -1,
    cells: [
      {
        columnId: 3811134080870276,
        value: 'indented under parent'
      },
      {
        columnId: 8314733708240772,
        value: "this line is indented"
      }
    ]
  }
]

先添加父行,再添加子行(用实际ID)

如果分两次请求,先添加父行并获取其ID,再添加子行时指定该ID为parentId:

// 第一步:添加父行,获取返回的行ID
const parentRow = await smartsheet.sheets.addRows(sheetId, [
  {
    cells: [/* 父行单元格数据 */]
  }
]);
const parentRowId = parentRow.result[0].id;

// 第二步:添加子行,指定parentId
const childRow = await smartsheet.sheets.addRows(sheetId, [
  {
    parentId: parentRowId,
    cells: [/* 子行单元格数据 */]
  }
]);

错误原因解析

  1. 错误1062:你在同一行对象中同时使用了toBottom(位置属性)和indent,API明确禁止这种组合——indent不能与其他位置指定符(如toBottom/toTop)混用。
  2. 错误1123:批量添加行时,所有行必须使用同类型的位置属性(要么都指定toBottom,要么都指定parentId,要么都不指定)。你仅给第二行设置indent(被API识别为位置属性),第一行无对应设置,因此触发冲突。

关键提示

Smartsheet的行缩进依赖父-子层级结构,指定parentId后,子行会自动继承缩进级别,无需手动设置indent属性。

内容的提问来源于stack exchange,提问作者Don V

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 21:15:33