如何计算工作空间中的对象数?

时间:2019-10-10 05:37:54

标签: python smartsheet-api

我正在尝试计算工作空间中的对象(表格,报告,景点,模板)的数量-我正在使用:

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

x = len(workspaces.sights)

print (x)

尽管返回工作区中所有内容的列表,但它只是检索景点的顶级计数(例如)-为什么?

谢谢

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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