调用APS /projects接口返回结果缺失rfiContainerId问题咨询
问题描述
我按照官方文档操作,使用官方SDK生成的3-legged token调用APS的/projects接口,请求示例如下:
curl -X GET \ 'https://developer.api.autodesk.com/project/v1/hubs/<hubId>/projects?filter%5Battributes.name%5D=Daniels%20Demo%20Project' \ -H 'Authorization: Bearer <token>' \ -H 'Content-Type: application/json'
接口返回正常,但缺失rfiContainerId字段。
当前配置情况:
- Token请求范围为
data:read account:read - 所用AppId已启用全部所需API
- 项目已开启RFIs功能并创建测试RFI
- 此前调用该接口可正常返回rfiContainerId,但近期结果中不再包含该字段,而该字段是查询RFIs的必要参数,期望接口返回包含rfiContainerId的结果(示例格式如下):
"rfis": { "data": { "type": "rfisContainerId", "id": "6928ef9b-ff11-4b32-a94c-b4eac7c577ae" }, "meta": { "link": { "href": "https://developer.api.autodesk.com/bim360/rfis/v1/containers/6928ef9b-ff11-4b32-a94c-b4eac7c577ae/rfis" } } },
解决方案
添加
include参数显式指定返回RFIs数据
默认/projects接口不会返回所有关联资源信息,需在请求URL中添加&include=rfis参数,强制接口返回rfiContainerId相关数据。修改后的请求URL示例:'https://developer.api.autodesk.com/project/v1/hubs/<hubId>/projects?filter%5Battributes.name%5D=Daniels%20Demo%20Project&include=rfis'验证Token权限范围
确认Token请求范围是否包含bim360:rfis:read,部分场景下需要更细粒度的RFIs读取权限。若当前范围缺失,更新为data:read account:read bim360:rfis:read后重新生成Token测试。检查项目RFIs配置状态
登录BIM 360项目后台,确认项目的RFIs模块仍处于启用状态,且之前创建的测试RFI未被删除。直接调用RFIs容器查询接口
若上述方法无效,可绕过/projects接口,直接调用RFIs容器列表接口获取目标ID:curl -X GET \ 'https://developer.api.autodesk.com/bim360/rfis/v1/containers' \ -H 'Authorization: Bearer <token>' \ -H 'Content-Type: application/json'该接口会返回当前用户有权限的所有RFIs容器,可通过项目名称或ID筛选目标容器。
内容的提问来源于stack exchange,提问作者danieltaylor.nz
相关产品推荐
相关产品推荐

