Autodesk forge 为什么我不能获取清单中的所有数据?
我有一个成功加载和转换的模型,但我还需要提取清单。不幸的是,当我提取清单时,我没有完全得到它。我需要拿到全部舱单。我试图通过递归调用接收清单的函数来解决这个问题,但无论如何,我都没有完全获得清单。我想知道递归调用的函数也不接收清单的原因是什么,以及如何解决这个问题Autodesk forge 为什么我不能获取清单中的所有数据?,autodesk-forge,autodesk-model-derivative,Autodesk Forge,Autodesk Model Derivative,我有一个成功加载和转换的模型,但我还需要提取清单。不幸的是,当我提取清单时,我没有完全得到它。我需要拿到全部舱单。我试图通过递归调用接收清单的函数来解决这个问题,但无论如何,我都没有完全获得清单。我想知道递归调用的函数也不接收清单的原因是什么,以及如何解决这个问题 function getManifest(getToken, urn) { return new Promise(async (resolve, reject) => { const baseUrl = "
function getManifest(getToken, urn) {
return new Promise(async (resolve, reject) => {
const baseUrl = "https://developer.api.autodesk.com";
const url = `${baseUrl}/modelderivative/v2/designdata/${urn}/manifest`;
const token = typeof getToken == "function" ? await getToken() : getToken;
const fetch = () =>
request(
{
url,
method: "GET",
headers: {
Authorization: token,
"Content-Type": "application/json",
Accept: "application/json",
},
json: true,
},
async (err, response, body) => {
if (err) {
return reject(err);
}
if (body && body.errors) {
return reject(body.errors);
}
if (body.progress !== "complete") {
await require("util").promisify(setTimeout)(3000);
return fetch();
}
if ([200, 201, 202].indexOf(response.statusCode) < 0) {
return reject(response);
}
return resolve(body || {});
},
);
return fetch();
});
}
函数getManifest(getToken,urn){
返回新承诺(异步(解析、拒绝)=>{
常量baseUrl=”https://developer.api.autodesk.com";
constURL=`${baseUrl}/modelederivative/v2/designdata/${urn}/manifest`;
const token=typeof getToken==“函数”?等待getToken():getToken;
常量fetch=()=>
请求(
{
网址,
方法:“获取”,
标题:{
授权:令牌,
“内容类型”:“应用程序/json”,
接受:“应用程序/json”,
},
是的,
},
异步(错误、响应、正文)=>{
如果(错误){
退货拒绝(err);
}
if(body&&body.errors){
返回拒绝(body.errors);
}
如果(body.progress!=“完成”){
等待要求(“util”).promisify(设置超时)(3000);
返回fetch();
}
if([200201202].indexOf(response.statusCode)<0){
返回-拒绝(响应);
}
返回解析(body |{});
},
);
返回fetch();
});
}
发布翻译作业时,完成翻译需要时间(取决于文件大小) 如果您希望在翻译100%完成后立即获取清单,请使用此选项并在post作业中提及workflowid,如图所示
对于开发模式下的webhook url,您可以使用我尝试了此解决方案,但它用于POST请求,GET请求用于获取清单。只有当清单完全准备好时,我才需要获取清单,我如何才能做到这一点?当清单准备好时,将调用您的webhook url。您应该运行webhook url api,在该api中,您可以调用清单api。在哪里可以找到示例代码?你给我的链接在文件上传过程中起作用。很抱歉,回复太晚,这里是示例代码:请忽略设计自动化部分。非常感谢。