Autodesk Forge Viewer加载模型报错(错误代码7):跨域问题排查求助
排查Forge Viewer加载模型时CORS错误(错误代码7)的提示
嘿,这个Origin 'null'的CORS报错我之前测试Basic Viewer的时候也踩过坑,给你几个核心的排查方向:
检查HTML文件的访问协议:
如果是直接双击本地HTML文件(通过file://协议打开),浏览器会把请求的Origin设为null,而Forge的API服务器不允许这种跨域请求。解决办法很简单:用本地HTTP服务器托管你的HTML页面,比如:- Python 3:在文件目录下运行
python -m http.server 8000,然后访问http://localhost:8000/your-page.html - Node.js:先安装
http-server(npm install -g http-server),再运行http-server,访问对应的本地地址
- Python 3:在文件目录下运行
验证Token的权限与有效性:
虽然你已经核查过URN和Token,但还是要确认Token的scope是否包含viewables:read权限。可以用工具(比如Postman)调用Forge的Manifest接口测试:GET https://developer.api.autodesk.com/modelderivative/v2/designdata/{your-urn}/manifest请求头带上
Authorization: Bearer {your-token},如果返回403,说明Token权限不足或者和URN不匹配;如果返回正常的JSON结构,那Token没问题。检查Viewer初始化代码细节:
- 确保URN是URL安全的Base64编码(去掉末尾的
=符号,比如把abc==改成abc) - 确认初始化代码里的Token和URN没有拼写错误,比如多打空格或者大小写错误
- 注意:测试阶段可以把Token写在前端,但生产环境一定要通过后端代理请求,避免Token泄露
- 确保URN是URL安全的Base64编码(去掉末尾的
排查浏览器插件干扰:
如果浏览器装了CORS相关的扩展(比如CORS Unblock),可能会意外修改请求头,导致Origin验证失败。建议暂时禁用这类插件,再重新加载页面测试。
内容的提问来源于stack exchange,提问作者marklinmao
相关产品推荐
相关产品推荐

