无法在Smartsheet中写入单元格值

时间:2016-04-01 00:59:55

标签: python smartsheet-api

我已经能够使用Python SDK for Smartsheet读取工作表,行,列和单元格,但我无法实际更改/写入/更新单元格值。我已经简化了我的代码了,我留下了这个:

import smartsheet
MySS = smartsheet.Smartsheet(MyApiKey)
single_row = MySS.Sheets.get_row(SHEET_ID, ROW_ID)
destination_cell = single_row.get_column(DST_COLUMN_ID)
destination_cell.value = "new value"
single_row.set_column(destination_cell.column_id, destination_cell)
MySS.Sheets.update_rows(SHEET_ID, ROW_ID)

运行此代码时出现以下错误:

    Traceback (most recent call last):
  File "C:/Users/XXXXXX/Python/Smartsheet/test.py", line 24, in <module>
    MySS.Sheets.update_rows(SHEET_ID, ROW_ID)
  File "C:\Users\XXXXXX\Python\virtualenv PC Smartsheet\lib\site-packages\smartsheet\sheets.py", line 961, in update_rows
    for item in _op['json']:
TypeError: 'long' object is not iterable

我尝试将最后一行代码中的ROW_ID作为ROW_ID[ROW_ID]以及[ROW_ID,]传递,但仍然会遇到相同的错误。

我将此作为我的参考:http://smartsheet-platform.github.io/api-docs/?python#update-row(s)

我做错了什么?

1 个答案:

答案 0 :(得分:3)

你真是太近了!而不是将ROW_ID发送到update_rows(),而您实际上想要在列表中发送row对象。

因此,在您的情况下,您只想将最后一行更改为

MySS.Sheets.update_rows(SHEET_ID, [single_row])