求助:获取Revit模型PDF视图下载的Set-Cookie响应头失败
可能的原因及解决方法
跨域请求限制
若在浏览器环境发起请求,跨域安全策略会自动过滤Set-Cookie头,除非服务器返回Access-Control-Allow-Credentials: true,且请求配置了withCredentials: true。检查你的autodeskInstanceDownload实例是否开启该配置:// 示例:axios实例配置开启withCredentials const autodeskInstanceDownload = axios.create({ baseURL: 'https://developer.api.autodesk.com', withCredentials: true, headers: { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' } });请求参数或权限问题
- 确认
urn和derivativeUrn正确性:derivativeUrn必须是已生成的PDF衍生物件URN,且状态为success。可先调用GET /modelderivative/v2/designdata/{urn}/manifest接口验证衍生物状态与URN匹配度。 - 检查访问令牌权限:令牌必须包含
data:read权限,获取令牌时需确保scope包含该权限。 - 尝试移除
useCdn=true参数:部分区域CDN可能不返回Cookie,先测试不带该参数的请求。
- 确认
响应头被代理/框架过滤
若使用前端框架(如React、Vue)或反向代理(如Nginx),中间件可能过滤Set-Cookie头。检查代理配置是否允许传递该头,或改为在后端发起请求,再将Cookie转发给前端。接口端点或版本错误
确认请求端点拼写正确:正确端点为https://developer.api.autodesk.com/modelderivative/v2/designdata/{urn}/manifest/{derivativeUrn}/signedcookies,确保derivativeUrn已正确编码。
调试建议
- 用Postman直接发起请求,排除前端环境干扰。若Postman能获取
Set-Cookie,则问题出在前端请求配置。 - 查看响应状态码:非200状态码时,根据错误信息排查(如401为权限问题,404为URN错误)。
内容的提问来源于stack exchange,提问作者Evhenii
相关产品推荐
相关产品推荐

