Проблема со вставкой значения в ячейку, доступную из раскрывающегося списка в Smartsheet, с использованием API.
У меня возникли проблемы с вставкой значений в столбец «список выбора» с использованием API Smartsheet и Python. Значение, которое я пытаюсь вставить, — это один из вариантов из списка выбора, как видно на прикрепленном изображении. Я понятия не имею, как вставлять значения в ячейки в столбце списка выбора, и не могу найти для этого документацию.
Код:
new_row = smartsheet.models.Row()
new_row.id = row_id
new_cell = smartsheet.models.Cell() #Cell configuration
new_cell.column_id = 5727843499960196
new_cell.value = "Jysk Bumpers"
new_cell.strict = False
new_row.cells.append(new_cell)
updated_row = smartsheet_client.Sheets.update_rows(1398305516218244, # sheet_id
[new_row])
print("Complete")
Выход:
{"response": {"statusCode": 400, "reason": "Bad Request", "content": {"detail": {"index": 0, "rowId": 8212749243377540}, "errorCode": 1235, "message": "Value is not supported for this column type. Use objectValue instead.", "refId": "wv6as6"}}}
Complete
Я пытался использовать objectValue, но все равно не смог.
1 ответ
В следующем примере кода обновляются 3 ячейки в существующей строке:
- первая ячейка - это
Text/Number
тип столбца - вторая ячейка — это тип столбца, который допускает несколько значений в ячейке
- третья ячейка — это тип столбца, который допускает только одно значение в ячейке.
# Define cell object (for the value in the first (primary) column - a text column)
cell1 = smartsheet_client.models.Cell({
'column_id': 3838793372985220,
'object_value': 'new item'
})
# Define cell object (for the value in the second column - a multi-select dropdown)
cell2 = smartsheet_client.models.Cell({
'column_id': 3749273671624580,
'object_value': smartsheet_client.models.MultiPicklistObjectValue({'values': ['blue', 'green', 'yellow']})
})
# Define cell object (for the value in the third column - a single-select dropdown)
cell3 = smartsheet_client.models.Cell({
'column_id': 8295973295810436,
'object_value': 'cat 2'
})
# Create row that contains the 3 cells defined previously
row = smartsheet_client.models.Row({
'id': 1724835021973380,
'cells': [cell1, cell2, cell3]
})
# Update row
sheetId = 1303196942526340
result = smartsheet_client.Sheets.update_rows(sheetId, [row])
Судя по приложенному вами снимку экрана, похоже, что ячейка, которую вы пытаетесь заполнить, находится вDropdown list
столбец, который допускает несколько значений в ячейке, поэтому вы будете использовать подход, показанный выше, для установки значения для этой ячейки на вашем листе. Обратите внимание, что в приведенном выше примере кода я указываю 3 значения для раскрывающегося списка с множественным выбором вcell2
:
smartsheet_client.models.MultiPicklistObjectValue({'values': ['blue', 'green', 'yellow']})
...но вы можете указать только одно значение (Jysk Bumpers
), если это единственный элемент, который вы хотите выбрать для этой ячейки.
smartsheet_client.models.MultiPicklistObjectValue({'values': ['Jysk Bumpers']})