SmartSheet API python扩展对象

2024-05-29 02:02:03 发布

您现在位置:Python中文网/ 问答频道 /正文

SmartSheet SDK API中有几个对象是对象的扩展。例如,CellLink和ObjectValue是Cell对象的扩展。我读了一些书,了解到这些是父/子类,涉及继承。然而,这个概念仍然让我无法理解,我无法理解创建CellLink对象的语法。你知道吗

new_cell = ss.models.Cell()
linked_cell = ss.models.Cell()
linked_cell.column_id = int(columnid)
linked_cell.sheet_id = int(sheetid)
linked_cell.row_id = int(rowid)
new_cell.link_in_from_cell = linked_cell

上面的例子给了我信息量最大的错误消息,因此,我假设它最接近我尝试过的所有变体的正确语法。任何帮助这个例子和可能的基本概念将不胜感激。你知道吗

raise ValueError("`{0}` invalid type for {1} value".format(value, 
self.object_type))
ValueError: `{"columnId": 2068210422966148}` invalid type for <class 
'smartsheet.models.cell_link.CellLink'> value

我相信我已经找到了这个问题的答案。似乎您只需要创建一个包含以下属性的字典:

ex_dict = {sheet_id: 0974792938, column_id: 07263839242, row_id: 
2632938474839}

new_cell.link_in_from_cell = ex_dict

诀窍在代码后面。而不是像这样创建新行:

row = ss.models.Row()

您需要更新现有行,如:

row = ss.Sheets.get_row(sheet_id, row_id)

然而,我仍然有一个奇怪的错误: 字段“createdAt”属于意外类型。你知道吗


Tags: 对象idnewvaluemodelstypelinkcell
1条回答
网友
1楼 · 发布于 2024-05-29 02:02:03

您应该只发送具有要更改的属性的行和单元格对象。您不想尝试修改现有的行对象(例如,使用createdAt属性),而是分配一个具有适当行id和单元格的新对象进行更新。你知道吗

有关创建单元格链接的完整示例,请参见https://github.com/smartsheet-samples/python-snippets/blob/04951c2ca8ae1a97386bdd3fa6e010f2845e1421/samples.py#L45。你知道吗

相关问题 更多 >

    热门问题