Python:获取智能表单的最佳方式

问题描述 投票:1回答:2

我想通过Smartsheet api找到一张纸,我所拥有的就是纸张的名称。我现在正在解决这个问题

sheet_name = 'The sheet I have the name of'
sheets = ss_client.Sheets.list_sheets(include_all=True).data
sheet_id = next(sheet.id for sheet in sheets if sheet.name == sheet_name)

sheet_that_I_want = ss_client.Sheets.get_sheet(sheet_id)

有一个get_sheet方法,但它是基于工作表的id。我觉得必须有更直接的方法来做到这一点,但我不确定它会是什么。

python smartsheet-api
2个回答
5
投票

工作表名称不必是唯一的,因此没有用于按名称获取工作表的端点。

但是,您可以使用search端点按名称搜索工作表,然后筛选这些结果,这可能小于迭代所有工作表。

sheet_name = "Demo"
search_results = ss_client.Search.search(sheet_name).results

sheet_id = next(result.object_id for result in search_results if result.object_type == 'sheet')
sheet_that_I_want = ss_client.Sheets.get_sheet(sheet_id)
print(sheet_that_I_want)

1
投票

我发现如果我创建一个工作表然后搜索它,它将无法找到。更新索引需要几秒钟。使用list_sheets似乎总是包含刚刚创建的那个。

© www.soinside.com 2019 - 2024. All rights reserved.