SmartSheet 在 python SDK 中将行添加到底部

SmartSheet add row to bottom in python SDK

使用 python 库和 2.0 API 文档。我正在尝试添加一行但不断收到错误消息:"message": "Required object attribute(s) are missing from your request: row.id."

问题似乎与 new_row.to_bottom=True 语句有关。 API 是我理解有误还是有误? 我还注意到,当我在同一个调用中添加 to_top 时,消息返回 only toTop or toBottom in a single call. 我再次尝试使用该语法但仍然没有成功。

import smartsheet
...
new_row = ss_client.models.Row()
new_row.to_bottom = True       #also tried .toBottom=True
new_cell = ss_client.models.Cell()
new_cell.column_id = 9380123454964
new_cell.value = 'update'
new_cell.strict = False
new_row.cells.append(new_cell)
updated_row = ss_client.Sheets.update_rows(1234567,[new_row]) #also tried new_row outside of []


Response: {
status: 400 Bad Request
content: {
{
    "detail": {
        "index": 0
    },
    "errorCode": 1012,
    "message": "Required object attribute(s) are missing from your request: row.id.",
    "refId": "152g54q6e89sd"
}
}

有人知道如何解决这个问题吗? SDK 还在 1.0 还是什么?

您正在尝试更新尚不存在的行。在实际创建该行之前,您不知道行 ID 是什么,因为它还没有被服务器分配。将 update_rows 替换为 add_rows.

ss_client.Sheets.add_rows(<sheet_id>,[new_row])