Smartsheet API get_sheet (Python) 过滤器不起作用

Smartsheet API get_sheet (Python) filters not working

我正在使用 Python 3.52,Smartsheet API SDK 2.0.10.

get_sheet(在 sheets.py 中)有三个 'filters',它们是

的整数列表
  1. row_numbers,
  2. column_ids 和
  3. row_ids.

我可以让其中的 none 一起或单独工作。 例如,

row_numbers = [2, 13]
sheet = smartsheet.Sheets.get_sheet(sheet_id, row_numbers)
for row in sheet.rows:
    print(row.row_number)

returns 所有行,而不仅仅是第 2 行和第 13 行。 我做错了什么还是这是一个错误?

克雷格

完整的方法签名是 get_sheet(sheet_id, include=None, exclude=None, row_ids=None, row_numbers=None, column_ids=None, page_size=100, page=1)

docs

所以在你的情况下,你需要 smartsheet.Sheets.get_sheet(sheet_id, None, None, None, row_numbers )

声誉还不允许我发表评论,但 Steve W 走在正确的轨道上。

有关 Python 如何将参数分配给参数列表的说明,请参见 https://docs.python.org/3/reference/expressions.html#calls。在您的示例中,row_numbers 被分配给 include 参数。要执行您想要的操作,您必须结合使用位置 (sheet_id) 和关键字 (row_numbers) 参数。所有其他参数将使用函数定义指定的默认值。

此代码按预期工作,返回 sheet:

中的第 2 行和第 13 行
row_numbers=[2,13]
sheet = smartsheet.Sheets.get_sheet(sheet_id, row_numbers=row_numbers)