BAD_INPUT 用于 Autodek Forge 中的更新版本 API

BAD_INPUT for update version API in Autodek Forge

我正在尝试将文件上传到 BIM360DOCS。参考 this 我可以成功上传文件的第一个版本,但我在更新版本时遇到问题。为了更新文件版本,我创建了一个存储位置,将文件上传到存储位置,但我尝试更新版本,我得到 400 响应。

我指的是 this 方法。

const body: CreateVersion = {
    jsonapi: { version: "1.0" },
    data: {
        type: "versions",
        attributes: {
            name: fileName,
            extension: {
                type: versions:autodesk.bim360:File" // "versions:autodesk.core:File",
                version: "1.0",
                schema: {
                    href: ""
                }
            }
        },
        relationships: {
            item: {
                data: {
                    type: "items",
                    id: folderId
                }
            },
            storage: {
                data: {
                    type: "objects",
                    id: objectId
                }
            }
        }
    }
}

const version = await new VersionsApi().postVersion(projectId, body, internalTokenClient, internalToken)

但这给了我 400 错误说

errors: [
{
  id: '92######-####-####-####-######c98bb5',
  status: '400',
  code: 'BAD_INPUT',
  title: 'One or more input values in the request were bad',
  detail: 'The object is not the correct type.'
}

]

而我正确地传递了 'projectId'、'internalTokenClient'、'internalToken',创建文件的第一个版本也是如此。我的负载有问题吗?

我在邮递员里也试过了,报同样的错误。我添加了邮递员截图以供参考

我在关系而不是关系沿袭中传递“folderId”。 尝试从以前的版本响应中传递血统正常工作。

const body: CreateVersion = {
     jsonapi: { version: "1.0" },
     data: {
         type: "versions",
         attributes: {
             name: fileName,
             extension: {
                type: versions:autodesk.bim360:File"
                version: "1.0",
                schema: {
                    href: ""
                }
             }
        },
        relationships: {
            item: {
                data: {
                    type: "items",
                    id: <relationship lineage from previous version>
                }
            },
            storage: {
                data: {
                    type: "objects",
                    id: objectId
                }
            }
        }
    }
}


const version = await new VersionsApi().postVersion(projectId, body, internalTokenClient, internalToken)