В 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)
Однако, у меня все еще есть странная ошибка:
Поле \ "createAt \" было неожиданного типа.