javascript - 伪造 Autodesk 查看器 api,onDocumentLoadFailure() - errorCode:4
问题描述
我想在我的应用程序中使用 Autodesk 的查看器,所以我使用了 forge ph 客户端 sdk,我完成了这里的 5 个步骤 https://forge.autodesk.com/blog/basic-usage-forge-sdk-php 一切正常. 但是现在,我想在查看器中查看文件,但它不起作用我的浏览器控制台中有错误:onDocumentLoadFailure() - errorCode:4
function viewObject(access,urn,divId){
var viewer;
var viewerDivId;
var options = {
env: 'AutodeskProduction',
accessToken: access
};
function onDocumentLoadSuccess(doc) {
// A document contains references to 3D and 2D viewables.
var viewables = Autodesk.Viewing.Document.getSubItemsWithProperties(doc.getRootItem(), {'type':'geometry'}, true);
if (viewables.length === 0) {
console.error('Document contains no viewables.');
return;
}
// Choose any of the avialble viewables
var initialViewable = viewables[0];
var svfUrl = doc.getViewablePath(initialViewable);
var modelOptions = {
sharedPropertyDbPath: doc.getPropertyDbPath()
};
var viewerDiv = document.getElementById('viewerDivId');
viewer = new Autodesk.Viewing.Private.GuiViewer3D(viewerDiv);
viewer.start(svfUrl, modelOptions, onLoadModelSuccess, onLoadModelError);
}
function onDocumentLoadFailure(viewerErrorCode) {
console.error('onDocumentLoadFailure() - errorCode:' + viewerErrorCode);
}
function onLoadModelSuccess(model) {
console.log('onLoadModelSuccess()!');
console.log('Validate model loaded: ' + (viewer.model === model));
console.log(model);
}
function onLoadModelError(viewerErrorCode) {
console.error('onLoadModelError() - errorCode:' + viewerErrorCode);
}
var documentId = 'urn:'+urn;
viewerDivId = divId;
Autodesk.Viewing.Initializer(options, function onInitialized(){
Autodesk.Viewing.Document.load(documentId, onDocumentLoadSuccess, onDocumentLoadFailure);
});
}
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1 /jquery.min.js"></script>
<script>
function buttonViewClicked() {
var access = $('#token').val();
var urn = $('#urn').val();
viewObject(access, urn, "MonViewer");
}
</script>
解决方案
错误代码 4 是指查看器403 Access Denied
在尝试从 Forge 下载文件时遇到的情况。确保您提供给查看器的访问令牌是有效的,并且它可以访问您尝试查看的模型。
如果您仍有问题,请随时向我们发送电子邮件以伪造 (dot) help (at) autodesk (dot) com,并包含有关您的项目的尽可能多的详细信息,例如,访问令牌的外观如何,您的模型的 URN、您的 Forge 应用程序 ID 等。
推荐阅读
- python - 绘制中心圆并实现沿圆移动的对象(bitmp)
- r - 使用 system() 在后台运行闪亮的应用程序时出错?
- javascript - 如何从 node.js 重新加载浏览器
- javascript - JavaScript 创建二维数组
- json - 解析来自 Postman 的 JSON 数据
- r - ggplot2:点颜色不会自动更改
- javascript - XMLHttpRequest() 发送空有效载荷
- svg - svg 字体有连字表吗?
- python - pydantic 转换为 jsonable dict(不是完整的 json 字符串)
- linux - 新 git 用户的授权键被忽略