SmartSheet добавить строку в нижней части Python SDK - PullRequest
0 голосов
/ 05 декабря 2018

Использование библиотеки python и документов API 2.0.Я пытаюсь добавить строку, но получаю сообщение об ошибке: "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 или что-то?

1 Ответ

0 голосов
/ 05 декабря 2018

Вы пытаетесь обновить строку, которая еще не существует.Пока строка на самом деле не создана, вы не знаете, что такое идентификатор строки, потому что он не был назначен сервером.Заменить update_rows на add_rows.

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