按文档调用Photos API下载BIM 360问题关联图片时提示资源不存在
排查BIM360 Photos API "资源不存在" 错误的解决方案
针对你调用Photos API下载问题关联图片时遇到的"The requested resource does not exist"错误,可按以下步骤逐一排查:
1. 严格核对UUID一致性
将Relationships API返回的photo ID与请求URL中的photo ID、项目ID逐字符对比,包括连字符和大小写(尽管UUID通常不区分大小写,但部分API端点可能做严格校验),确保无复制或输入错误。
2. 验证Token权限与有效性
- 确认3-legged token的scope包含
data:read,这是访问Photos API的必要权限; - 检查token是否过期,可通过重新生成token后再次尝试请求;
- 确认当前用户在BIM360项目中拥有查看该照片的权限:登录BIM360网页端,找到对应问题,查看关联图片是否能正常显示。若网页端无法查看,说明用户权限不足或照片已被删除。
3. 检查照片是否已被移除
Relationships API返回的实体信息可能存在缓存或滞后性,即使接口返回了photo实体,实际照片可能已被删除或从项目中移除。直接在BIM360网页端验证问题关联图片的存在性是最直接的方式。
4. 简化请求排查参数问题
先尝试不带include=signedUrls参数调用Photos API,仅获取照片基本信息:
GET https://developer.api.autodesk.com/construction/photos/projects/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/photos/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy Headers: Authorization: Bearer {your-three-legged-token}
若该请求成功返回照片信息,再添加include=signedUrls参数尝试获取签名下载链接;若仍返回资源不存在,说明核心问题出在资源本身或权限。
5. 确认API端点正确性
确保调用的是Construction Photos API的正确端点:
- 端点格式应为
https://developer.api.autodesk.com/construction/photos/projects/{project-id}/photos/{photo-id} - 项目ID需使用BIM360项目的UUID,而非账户ID或其他容器ID(与Relationships API请求中的container ID保持一致)
内容的提问来源于stack exchange,提问作者user26692818
相关产品推荐
相关产品推荐

