查找您的 ID:组织、节点和上下文
RealityConnect API 中几乎每个路径都带有一个需要事先获取的 ID(contextId、organizationId、ownerContextIds)。本页介绍这些 ID 在您组织的节点树中位于何处、如何仅凭一个 access token 找到它们,以及每个路由系列各自需要哪个 ID。
一切皆为节点
Section titled “一切皆为节点”您组织的内容(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。
从 token 开始遍历节点树
Section titled “从 token 开始遍历节点树”只需两次调用,即可从一个 access token 找到组织中任意节点的 ID:
1. 解析您的组织 ID
Section titled “1. 解析您的组织 ID”GET https://cloud-api.prevu3d.com/oauth/api-infoAuthorization: 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。
2. 从此处向下浏览
Section titled “2. 从此处向下浏览”GET {apiUrl}/v1/nodes/{id}/browseAuthorization: Bearer <access_token>传入组织 ID 即可查看您的 division 列表。响应中的每个条目本身也是一个节点,拥有自己的 ID 和类型。将该 ID 传给同一个路由,即可再向下浏览一层(division 下的 site、site 下的 folder 和 twin,依此类推)。系统并没有单独提供”列出我的 division”或”列出该 site 下的 twin”这类专用接口:browse 就是唯一的调用方式,沿着节点树反复使用即可。
每个路由系列需要哪个 ID?
Section titled “每个路由系列需要哪个 ID?”| 路由系列 | 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}/browse | id / 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。 |
- 查阅 API 参考文档 获取完整的请求/响应结构。
- 参见 Searching Business Objects and Nodes 了解带过滤条件的节点和对象搜索。
- 参见 OAuth Scopes 了解
read:hierarchy和write:hierarchy授予的权限。