You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js上传文档至BIM360/ACC失败,步骤7报BAD_INPUT错误

排查步骤7创建Item时的400 BAD_INPUT错误

问题描述

按照官方分步指南操作,使用Node.js结合axios发起网络请求,步骤6(创建存储空间)返回200状态码看似正常,但执行步骤7(创建Item)时收到400错误:

errors: [
        {
          id: 'dcda72b1-04c2-441b-a928-aafbb1d32d39',
          status: '400',
          code: 'BAD_INPUT',
          title: 'Object violates schema "create_item".',
          detail: 'See meta section for details.'
        }
      ],

请求体JSON输出如下:

{"jsonapi":{"version":"1.0"},"data":{"type":"items","attributes":{"displayName":"testing.pdf","extension":{"type":"items:autodesk.core:File","version":"1.0"}},"relationships":{"tip":{"data":{"type":"versions","id":"1"}},"parent":{"data":{"type":"folders","id":"urn:adsk.wipprod:fs.folder:co.hRlS3cVYRhuXeBmzluk9Ug"}}}},"included":[{"type":"versions","id":"1","attributes":{"name":"testing.pdf","extension":{"type":"versions:autodesk.core:File","version":"1.0"}},"relationships":{"storage":{"data":{"type":"objects"}}}}]}

排查思路

  • 补全storage关联的ID字段
    你的请求体中included[0].relationships.storage.data仅包含type: "objects",缺少必填的id。这个ID是步骤6创建存储空间接口返回的object ID,必须替换进去,否则无法关联到已上传的文件存储位置。

  • 核对JSON:API schema字段
    逐字段对比官方请求示例:

    • 确认included[0].attributes.name与实际上传的文件名完全一致(当前是testing.pdf,需和步骤6上传的文件名匹配)
    • 扩展字段的type和version值需严格符合要求(你当前的设置是正确的,但要确保没有拼写错误)
  • 验证父文件夹URN的有效性与权限
    检查parent.data.id对应的文件夹URN是否有效,且当前授权账号拥有该文件夹的写入权限。可通过调用文件夹详情接口(GET请求)验证权限和URN的正确性。

  • 确认请求头设置
    确保axios请求的Content-Type严格设置为application/vnd.api+json,这是JSON:API格式的强制要求,缺失或错误会触发schema校验失败。

  • 逐行对比官方cURL请求体
    将你的JSON请求体和官方步骤7的cURL示例中的请求体进行逐字段对比,排查是否存在字段遗漏、格式错误或值类型不匹配的问题。比如官方示例中storage.data会包含完整的type和id,你当前的请求体缺少关键的id值。

内容的提问来源于stack exchange,提问作者Jonathan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 16:05:19