Python 如何计算工作区中的对象数?

Python 如何计算工作区中的对象数?,python,smartsheet-api,Python,Smartsheet Api,我试图计算工作区中对象(图纸、报告、场景、模板)的数量-我使用: workspaces = smart.Workspaces.get_workspace( workspace_id=XXXXXXXX, load_all=True) x = len(workspaces.sights) print (x) 尽管返回了工作区中所有内容的列表,但它只检索了sights的顶级计数(作为一个示例)-为什么 谢谢视线或仪表板不能包含任何内容,如工作表和报告,因此它们下面不会列出任何内容。如果在

我试图计算工作区中对象(图纸、报告、场景、模板)的数量-我使用:

workspaces = smart.Workspaces.get_workspace(
  workspace_id=XXXXXXXX,
  load_all=True)

x = len(workspaces.sights)

print (x)
尽管返回了工作区中所有内容的列表,但它只检索了sights的顶级计数(作为一个示例)-为什么


谢谢

视线或仪表板不能包含任何内容,如工作表和报告,因此它们下面不会列出任何内容。如果在工作区的顶层找到该视线,则工作区对象上将有一个
sights
属性作为顶层属性。这将是工作区顶层的每个场景的数组。如果在这些文件夹下的文件夹中有瞄准具,您将看到它们作为特定文件夹的阵列中的对象列出。“顶级景点”属性将只考虑工作区顶级的景点。
使用
loadAll=true
时返回的对象将模拟工作区的文件夹结构。要获取工作区中每个对象类型的总计数,您需要遍历该对象,并计算属性出现的次数,以获取每个对象类型的总计数。

最好的选择是使用home请求获取home菜单:

contents = smartsheet_client.Home.list_all_contents(include='source')
  • 然后找到正确的工作空间
  • 从那里,计算该工作区下的所有项目
  • 然后对工作区下的每个文件夹计数项目(此步骤必须是递归的)