Autodesk ACC API问题:Node.js中propertiesUrl URI解析异常
ACC API属性查询S3 URL认证失败问题(Node.js+Express环境)
在Node.js+Express环境中使用Autodesk Platform Service的ACC API进行属性查询时遇到认证问题。调用批量状态查询接口后,返回的propertiesUrl和queryResultsUrl为S3预签名URL,但访问时认证凭证无法被正确识别,无法获取属性信息。
返回的S3预签名URL示例
https://bim360-nucleus-production-us-east-1-temporary-index.s3.amazonaws.com/{projectId}/index/v2/indexes/{indexId}/properties.ldjson.gz?X-Amz-Expires=60&X-Amz-Security-Token={{token_value}}-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential={{Credential_value}}/20231003/us-east-1/s3/aws4_request&X-Amz-Date=20231003T021812Z&X-Amz-SignedHeaders=host&X-Amz-Signature={{Amz_Signature_Value}}
收到的错误信息
Error: 400 Bad Request <?xml version="1.0" encoding="UTF-8"?> forge-api-app | <Error><Code>InvalidArgument</Code><Message>Only one auth mechanism allowed; only the X-Amz-Algorithm query parameter, Signature query string parameter or the Authorization header should be specified</Message><ArgumentName>Authorization</ArgumentName><ArgumentValue>Bearer {Secret}</ArgumentValue><RequestId>{RequestId}</RequestId><HostId>{HostID}</HostId></Error>
对比其他接口URL格式
其他接口(如manifest接口)的URL格式为Autodesk官方域名,示例:
https://developer.api.autodesk.com/construction/index/v2/projects/:projectId/indexes/:indexId/manifest
调用批量状态接口的示例代码
async function getBatchStatus(header, containerID, versionDict) { const bashStatus_url = PROJECT_URL + containerID + "/indexes:batch-status"; var jobsList = await post(bashStatus_url, header, JSON.stringify(versionDict)); return jobsList; };
求问是否有遇到过类似问题的用户,或有解决方案的朋友提供建议,感谢。
内容的提问来源于stack exchange,提问作者oba
相关产品推荐
相关产品推荐

