通过未授权的forge-apis下载SVF衍生产品

时间:2017-08-10 13:49:09

标签: node.js autodesk-forge autodesk-model-derivative

在最近使用 extract.autodesk.io 模块(SVF model derivative downloaded as an (almost) empty ZIP file (Autodesk Forge))解决的帖子后,我仍然难以使用官方 forge-apis 模块,在两条腿的环境中。

以下是我试图实现的最小样本:

var ForgeSDK = require("forge-apis");

/* The next four lines are filled with my credentials and URN values 
 * (this shouldn't be the problem, since getting the manifest for the URN
 * is performed successfully) */
var client_id = "...";
var client_secret = "...";
var urn = "...";
var derivative_urn = "...";

var derivatives = new ForgeSDK.DerivativesApi();
var autoRefresh = true;
var oAuth2TwoLegged = new ForgeSDK.AuthClientTwoLegged(client_id, 
    client_secret, [
        "data:read", "data:write", "bucket:read", "bucket:write"
    ], autoRefresh);

oAuth2TwoLegged.authenticate().then(function(credentials) {
    derivatives.getDerivativeManifest(urn, derivative_urn, {}, credentials, oAuth2TwoLegged).then(function(content) {
        console.log(content);
    }).catch(function(err) {
        if (err) {
            console.log(err);
        }
    })
});

我收到以下错误:{statusCode:401,statusMessage:'Unauthorized'}。这是范围问题吗?

提前多多感谢!

PS:我知道 extract.autodesk.io 提供了一种很好的方法,但我觉得使用 bubble 对象并不是那么简单。另一个背景。 forge-apis 模块应该无缝地完成工作(或者我遗漏了一些东西)。

更新:根据Augusto的建议,我使用了最基本的命令(即cUrl)从IFC文件下载信息。下面的前两个命令成功运行(下载清单和PNG屏幕截图文件)。 SVF的下载似乎也可以正常工作,除了ZIP文件只包含两个JSON文件(manifest.json和metadata.json),以及三个空目录(几何,材料,场景)。

以下是代码:

# Get manifest for the IFC file
curl -X "GET" -H "Authorization: Bearer $TOKEN" -v "https://developer.api.autodesk.com/modelderivative/v2/designdata/$URN_IFC/manifest" > manifest.json

# Get a PNG related to the IFC file
curl -X "GET" -H "Authorization: Bearer $TOKEN" -v "https://developer.api.autodesk.com/modelderivative/v2/designdata/$URN_IFC/manifest/$URN_PNG" > image.png

# Get the SVF converted from the IFC file
curl -X "GET" -H "Authorization: Bearer $TOKEN" -v "https://developer.api.autodesk.com/modelderivative/v2/designdata/$URN_IFC/manifest/$URN_SVF" > output.zip

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

在将forge-apis NPM软件包更新到其最新版本(0.4.1)之后,我对来自extract.autodesk.io bubble.js 函数进行了新的尝试,它的工作正常现在很好:我可以毫不费力地下载SVF文件。

感谢@Augusto的帮助。仍然很想知道为什么“基本”cUrl方法不能按预期工作......