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

Autodesk Platform Services文件上传至ACC云异常及API方法疑问

问题解答

一、API方法歧义说明

  • uploadObject方法确实已被官方废弃,uploadResources是替代它的批量上传方法,用于一次性上传多个文件到OSS存储桶。由于Node.js客户端的文档是自动生成的,存在滞后于源码更新的情况,导致该方法未出现在公开文档中,你使用uploadResources本身的调用方式是正确的。

二、ACC文件夹看不到文件的原因及解决步骤

你当前的代码仅完成了文件上传到OSS存储桶的步骤,但ACC的项目文件系统需要将OSS中的对象与项目文件夹建立关联,才能在ACC界面中展示。具体问题和修复流程如下:

核心原因

ACC(Autodesk Construction Cloud)的文件管理依赖Data Management API的数据模型,OSS存储桶只是底层存储,上传到OSS的文件不会自动同步到ACC项目的文件夹视图中,必须手动关联。

完整上传流程

  1. 上传文件到OSS(你已完成)
    你的uploadResources调用返回200,说明文件已成功上传到指定bucket,这一步没问题。

  2. 关联OSS对象到ACC项目文件夹
    需要调用Data Management API的接口,将已上传的OSS对象关联到目标ACC项目的文件夹中。示例代码如下(需确保你的认证客户端包含data:write和data:create权限):

    const { ProjectsApi } = require('forge-apis');
    
    // 假设你已有项目ID、文件夹ID等信息
    const projectId = 'your-acc-project-id';
    const folderId = 'target-folder-id-in-acc';
    const objectId = response.body[0].objectId; // 从uploadResources的响应中获取上传对象ID
    
    // 创建项目文件条目
    await new ProjectsApi().createItem(
      projectId,
      {
        jsonapi: { version: '1.0' },
        data: {
          type: 'items',
          attributes: {
            displayName: objectKey, // 文件名
            extension: {
              type: 'items:autodesk.bim360:File',
              version: '1.0',
              data: {}
            }
          },
          relationships: {
            parent: {
              data: { type: 'folders', id: folderId }
            },
            storage: {
              data: { type: 'objects', id: objectId }
            }
          }
        }
      },
      {},
      internalAuthClient,
      req.internalOAuthToken
    );
    

额外注意事项

  • 确保你使用的bucketKey是ACC项目对应的存储桶(格式通常为wip.dm.prod.<project-id>),而非普通OSS bucket。
  • 认证令牌需要包含data:write、data:create以及bucket:create(如果涉及bucket操作)的权限范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 07:05:59