调用Autodesk Tandem API获取设施数据返回空数组问题咨询
排查设施接口返回空数组的问题
你使用以下代码获取设施数据:
async fetchFacilities() { const FacilitiesSharedWithMe = await this.app.getCurrentTeamsFacilities(); const myFacilities = await this.app.getUsersFacilities(); console.log("myFacilities:", myFacilities); return [].concat(FacilitiesSharedWithMe, myFacilities); }
但getCurrentTeamsFacilities()和getUsersFacilities()均返回空数组,而Tandem平台中明明存在对应记录,可以从这些方向排查:
校验权限与认证
确认代码使用的认证令牌和你在Tandem平台登录的账号一致,且令牌申请了data:read这类访问设施所需的权限范围。如果权限不足,接口会返回空数据而非报错。检查团队上下文
getCurrentTeamsFacilities()依赖当前团队上下文,要确认代码里是否正确设置了目标团队ID。如果未指定团队,接口可能默认返回无团队关联的设施,和你在平台看到的记录不匹配。查看接口原始响应
别只看最终的数组结果,直接打印接口的原始返回内容:const sharedResp = await this.app.getCurrentTeamsFacilities(); console.log("共享设施原始响应:", sharedResp); const myResp = await this.app.getUsersFacilities(); console.log("我的设施原始响应:", myResp);有些接口会返回包含数据的嵌套对象(比如
{ data: [] }),直接赋值的话会误把外层对象当成空数组处理。确认设施归属关系
平台里的设施可能属于其他团队,或者你仅拥有查看权限而非所有权。getUsersFacilities()返回的是你拥有的设施,而你看到的共享设施需要确认是否在getCurrentTeamsFacilities()对应的团队范围内。核对API版本
检查你使用的SDK/API版本和Tandem平台当前版本是否一致,旧版本接口可能存在逻辑变更,导致返回数据不符合预期。
内容的提问来源于stack exchange,提问作者AliHamza365
相关产品推荐
相关产品推荐

