URN 问题锻造模型派生 API - 无效的设计参数



我正在尝试翻译之前上传到 Forge 存储桶的对象,但收到参数错误。我假设 URN 是问题所在。我可以确认对象已正确上传,因为我已经能够从存储桶下载它。

我的代码如下:

我使用 getObjectDetails 调用来获取对象 URN 作为对象 ID:

static getObjectUrn (oAuth2TwoLegged, objectName, callback) {
ObjectsApi.getObjectDetails(bucketKey, objectName, {}, oAuth2TwoLegged, oAuth2TwoLegged.getCredentials()).then((resp) => {
callback(null, resp.body.objectId);
}, callback);
}

我得到类似的东西: urn:adsk.objects:os.object:configtest2/f8d215f7-9ff0-474a-87b9-632ca745b39eresult.zip

我的请求正文如下所示:

let data = urn;
var buf = new Buffer(data, 'base64'); 
var plain_buf = buf.toString(); 
console.log(plain_buf); 
const resolvedTemplate = {
'input': {
"urn": plain_buf,
"compressedUrn": true,
"rootFilename": self.rootFilename
},
'output': {
"destination": {
"region": "us"
},
"formats": [
{
"type": "svf",
"views": [
"3d"
]
}
]
},
};

我在编码之前和之后尝试了骨灰盒的几种不同变体,但无济于事。我的根文件名是PlaysetGA.iam,尽管这是一个.zip文件夹,所以我也尝试了文件夹内的路径Playset/PlaysetGA.iam。

我已经查看了以下页面: https://forge.autodesk.com/en/docs/model-derivative/v2/tutorials/prepare-file-for-viewer/还有这个问题: 模型衍生 API 发布作业 - 400 错误请求"无效的'设计'参数">

这是我得到的回应: {"诊断":"无效的'设计'参数。

显然,我错过了一些东西。谢谢!

编辑: 我已经更新了我的.zip文件夹,所以我的根文件位于基本文件路径中。这是根目录:

根文件夹

目前,POST 作业端点仅支持rootFilename参数中的文件名,不支持文件路径。如果要翻译 ZIP 文件,则需要确保根文件名直接在存档的根目录中可用。

原来

var buf = new Buffer.from(unencoded_urn, 'ascii'); 
var plain_buf = buf.toString('base64'); 

是对从 ObjectsApi.getObjectDetails 函数检索unencoded_urn的 URN 进行编码的正确方法。

最新更新