2

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 を and として渡そうとしましROW_ID[ROW_ID][ROW_ID,]、それでも同じエラーが発生します。

これを参照として使用しています: http://smartsheet-platform.github.io/api-docs/?python#update-row(s)

私は何を間違っていますか?

4

1 に答える 1

4

あなたはとても近いです!を に送信するのではなく、ROW_ID実際update_rows()rowオブジェクトをリストで送信します。

したがって、あなたの場合、最後の行を次のように変更したいだけです

MySS.Sheets.update_rows(SHEET_ID, [single_row])
于 2016-04-01T07:13:23.963 に答える