跳转到内容

查找您的 ID:组织、节点和上下文

RealityConnect API 中几乎每个路径都带有一个需要事先获取的 ID(contextId、organizationId、ownerContextIds)。本页介绍这些 ID 在您组织的节点树中位于何处、如何仅凭一个 access token 找到它们,以及每个路由系列各自需要哪个 ID。


您组织的内容(division、site、folder、twin、data bundle、asset library 等)构成一棵data node树。每个节点都有一个 uuid ID 和一个 DataNodeType(Organization、Division、Site、Folder、Twin、AssetLibrary、Project、SiteFile、Artifact、DataBundle)。您在 API 中看到的大多数路径参数(包括 contextId、organizationId、nodeId、parentId、ownerContextId)其实都只是这些节点之一的 ID。

只需两次调用,即可从一个 access token 找到组织中任意节点的 ID:

GET https://cloud-api.prevu3d.com/oauth/api-info
Authorization: Bearer <access_token>
{
"organization": {
"id": "217ebd23-ec54-4af0-a6d6-4a441a6d1966",
"name": "Test Organization"
},
"apiUrl": "https://api-ue1.prevu3d.com/realityconnect-api"
}

organization.id 是您节点树的根,也是大多数路由所需要的 organizationId。apiUrl 是您所在区域的 RealityConnect API 基础地址。关于完整的 token 交换流程以及如何选择合适的 OAuth 流程,请参见 Getting Started。

GET {apiUrl}/v1/nodes/{id}/browse
Authorization: Bearer <access_token>

传入组织 ID 即可查看您的 division 列表。响应中的每个条目本身也是一个节点,拥有自己的 ID 和类型。将该 ID 传给同一个路由,即可再向下浏览一层(division 下的 site、site 下的 folder 和 twin,依此类推)。系统并没有单独提供”列出我的 division”或”列出该 site 下的 twin”这类专用接口:browse 就是唯一的调用方式,沿着节点树反复使用即可。

路由系列ID标识对象
/v1/twin/{contextId}/...(assets、POIs、zones、drafts、object、search、space)contextId一个 twin、其所属的 site,或其某个 draft。直接解析(传入 design project 或 layout 的 ID 会在此返回 404)。
/v1/reality-plan/{contextId}/...(space、model-assets、layouts、bundles)contextId一个 design project(RealityPlan Project)或其某个 layout。直接解析(传入 twin、site 或 twin draft 的 ID 会在此返回 404)。
/v1/nodes/{id}/browseid / nodeId / parentId所操作层级上的 data node 本身。
GET /v1/asset-library/-/models(查询参数 ownerContextIds)ownerContextIds拥有该库的上下文的 ID:您的组织 ID 或某个 RealityPlan Project 的 ID,而不是 AssetLibrary 节点自身的 ID。该路由目前要求至少提供一个值;省略会返回 400。
/v1/asset-library/{ownerContextId}/...(路径参数,例如创建/读取/更新 library model)ownerContextId与上面相同:拥有该库的组织或 RealityPlan Project 的 ID,而不是 AssetLibrary 节点自身的 ID。