是否有 'item' 类型没有关联的 storageSize 属性?

Are there 'item' types that don't have an associated storageSize attribute?

我正在尝试使用以下代码将 storageSize 与文件夹中的每个项目相关联:

foldersApi.getFolderContents(projectId, folderId, {}, oAuth2ThreeLegged, credentials)
  .then((response) => {
    const data = response.body.data;
    const included = response.body.included;

    const filesArray = data.filter(thing => thing.type === 'items');
    filesArray.forEach(file => {
      const version = included.find((i) => i.type === 'versions' && i.relationships.item.data.id === file.id);
      file.storageSize = version.attributes.storageSize;
    });
  })

Data Management API Fieldguide 中指出,如果项目是文件,版本对象将仅具有 storageSize 属性。什么类型的项目不是文件?

文件是否可能缺少此属性?

如果相关,则该文件夹位于 BIM 360 帐户中。

在BIM360项目文件夹中,数据类型包括"folders"和"items"。

是的,在某些情况下文件版本会错过“storageSize”属性,以下是我们已经知道的一些情况:

  1. 曾经有一个问题,从 BIM360 Docs UI 上传的文件缺少这个 属性,详情请查看 "storageSize" deosn't appear in versions endpoint response of uploaded file,这个问题已经记录并且调查了一下,根据我刚才的验证应该是修复了,我们可以得到"storageSize" 属性 即使文件是从UI上传的,请验证,我也在和我们的工程师确认现在(很快会更新你)。但不幸的是,对于已经从 UI 上传的遗留文件,属性 仍然缺失。

  2. 对于一些不是普通"Seed"文件的文件,例如,它是从种子文件(模型)中提取的文件,它的设计没有属性,但如果您有充分的理由要求 属性 即使对于提取的文档,请告诉我。

  3. 如果文件已经被标记为删除,搜索所有被includeHidden=true隐藏的文件,你会看到文件版本也没有"storageSize" 属性,这是设计好的。

如果你确实想获取存储大小但它没有在版本 属性 中列出,解决方法是从 OSS 获取大小,那是另一回事,如果这是你的要求,我们可以讨论。

如果您发现 属性 缺失的其他情况,请向我们提出。