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

如何在APS中访问ACC内比已发布版本更新的文件最新版本?

在APS中访问ACC文件的绝对最新版本

可以直接在APS生态内实现该需求,无需借助外部工具,核心是通过ACC的版本管理API结合APS Data Management模块来获取并加载未发布的最新工作版本。

核心工作流程

  • 完成ACC/APS的身份认证,获取具备项目文件访问权限的访问令牌
  • 定位目标文件的唯一标识符(itemId)
  • 调用ACC API获取该文件的所有版本列表,筛选出状态为work的最新版本(即未发布/共享的工作版本)
  • 通过APS Data Management API将该最新版本的文件加载到你的APS应用中

代码示例(JavaScript)

以下是关键步骤的代码实现:

1. 获取访问令牌(服务账号认证方式)

const axios = require('axios');

async function getAccessToken() {
  const response = await axios.post('https://developer.api.autodesk.com/authentication/v2/token', {
    grant_type: 'client_credentials',
    client_id: 'YOUR_CLIENT_ID',
    client_secret: 'YOUR_CLIENT_SECRET',
    scope: 'data:read bucket:read'
  });
  return response.data.access_token;
}

2. 获取文件的最新工作版本

async function getLatestWorkVersion(accessToken, projectId, itemId) {
  const url = `https://developer.api.autodesk.com/data/v1/projects/${projectId}/items/${itemId}/versions`;
  const response = await axios.get(url, {
    headers: { 'Authorization': `Bearer ${accessToken}` }
  });
  
  // 筛选工作版本并按创建时间倒序排序,取第一个即为最新版本
  const workVersions = response.data.data.filter(version => version.attributes.extension.data.status === 'work');
  workVersions.sort((a, b) => new Date(b.attributes.createTime) - new Date(a.attributes.createTime));
  
  return workVersions[0];
}

3. 加载最新版本到APS应用

async function loadLatestVersionIntoAPS(accessToken, versionId) {
  // 生成用于APS Viewer的URN
  const urn = Buffer.from(versionId).toString('base64');
  console.log('Latest version URN for Viewer:', urn);
  
  // 后续可调用APS Viewer的loadDocument方法加载该URN对应的文件
  // viewer.loadDocument(`urn:${urn}`);
}

完整调用流程

async function main() {
  const token = await getAccessToken();
  const projectId = 'YOUR_ACC_PROJECT_ID';
  const itemId = 'YOUR_TARGET_FILE_ITEM_ID';
  
  const latestVersion = await getLatestWorkVersion(token, projectId, itemId);
  if (latestVersion) {
    await loadLatestVersionIntoAPS(token, latestVersion.id);
    console.log('Successfully loaded the latest work version');
  } else {
    console.log('No work version found for the target file');
  }
}

main().catch(err => console.error(err));

注意事项

  • 确保你的APS应用已被授权访问目标ACC项目,权限范围需包含data:read
  • 工作版本(work状态)是ACC中未发布的最新编辑版本,与已发布的published状态版本区分开
  • 若需对该版本进行编辑操作,需额外申请data:write权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 10:04:57