如何收集正在导入的 sheet 的行 ID?

How to gather row id's of sheet that is being imported?

我目前正在尝试将行从我导入的 sheet 移动到另一个现有的 sheet。截至目前,我正在使用 result.data.id 到 return 将与导入的 sheet 相关联的 sheet id。为了进一步说明,这里是我用来移动行的代码行。

response =smart.Sheets.move_rows(result.data.id,smart.models.CopyOrMoveRowDirective({'row_ids': [**IDK**],'to': smart.models.CopyOrMoveRowDestination({'sheet_id': 1174866712913796})}))

我 运行 进入我的问题,当它提示我输入我试图移动到现有 sheet 的行 ID 时。由于尚未创建导入的 sheet,因此我无法引用智能 sheet 中的行 ID。我的问题是:是否有类似于 result.data.id 的东西但对于行 ID?或者我可以为 row_ids 输入其他内容,它只会移动 sheet 中的所有行?

如果您想要复制刚刚导入的 sheet 中的所有行,您应该能够使用 Copy Rows 操作。如文档所示:

  • 您指定要复制的 sheet 的 id,以及有关要在其中创建新 sheet 的容器(例如文件夹)的信息。
  • 您还可以选择包括其他参数,这些参数指定您希望在复制操作中包括哪些类型的内容(例如,附件、讨论、表单等)

这是 Python 中的示例请求:

response = smart.Sheets.copy_sheet(
  4583173393803140,                               # sheet_id
  smartsheet.models.ContainerDestination({
    'destination_type': 'folder',               # folder, workspace, or home
    'destination_id': 9283173393803140,         # folder_id
    'new_name': 'newSheetName'
  })
)

更新(列表行):

由于我现在了解到您想要将导入的 sheet 中的所有行复制到另一个已存在的 sheet ,因此 复制 Sheet 我上面描述的方法不合适。

相反,在您导入 sheet 之后,您可以使用 Get Sheet 操作来获取有关您导入的 sheet 的数据。这是 Get Sheet 在 Python 中的操作示例:

sheet = smartsheet_client.Sheets.get_sheet(
  4583173393803140)           # sheet_id

响应将包含(除其他外)一个 rows 属性,它是 Row 个对象的数组,代表导入的 [=53] 中的所有行=].每个 Row 对象包含一个 id 属性 指定行的 ID。

您需要遍历 Row 个对象数组,将每个 id 属性 的值添加到以逗号分隔的 ID 列表中——这将给出您是 将行移动到另一个 Sheet 操作所需的 ID 列表。