首页 > 解决方案 > 为什么我没有得到清单中的所有数据?

问题描述

我有一个成功加载和转换的模型,但我还需要提取清单。不幸的是,当我提取清单时,我并没有完全得到它。我需要获取整个清单。我试图通过递归调用接收清单的函数来解决这个问题,但无论如何我都没有完全得到清单。我想知道递归调用的函数也没有收到清单的原因是什么,以及如何解决这个问题。

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();
  });
}

在此处输入图像描述

标签: autodesk-forgeautodesk-model-derivative

解决方案


发布翻译工作后,翻译完成需要时间(取决于文件大小)。

如果您想在翻译 100% 完成后立即获得清单,请使用此webhook api并在 post job 中提及 workflowid,如下所示

对于开发模式下的 webhook url,您可以使用ngrok


推荐阅读