模型派生API发布作业-400错误的请求“无效的'design'参数”

时间:2018-07-12 13:08:13

标签: autodesk-forge autodesk-model-derivative

我已经将Revit模型上传到我的OSS存储桶中,并试图将文件转换为svf,但是我得到了以下信息:

400错误的请求{“ diagnostic”:“无效的'design'参数。”}

我是Forge API的新手,不确定是否需要设计参数或在何处引用了设计参数,因此希望您能提供任何指导。

from numpy.core.multiarray import dtype

column_names = [name for name,col_type in df.dtypes.items() if col_type!=dtype('O')]

1 个答案:

答案 0 :(得分:1)

对于遇到过类似问题的人

正如我们所讨论的,导致此问题的主要原因是将上载文件的urn:转换为base64URN时缺少了objectId

通过PUT buckets/:bucket_key/objects/:object_name将模型文件上传到Forge OSS存储桶后,您将获得如下响应:

{
    "bucketKey": "mybucket",
    "objectId": "urn:adsk.objects:os.object:mybucket/rac_basic_sample_project.rvt",
    "objectKey": "rac_basic_sample_project.rvt",
    "sha1": "6d0defe9c4f8e36c7786254a3d07f9991dbf8d91",
    "size": 16474112,
    "contentType": "application/octet-stream",
    "location": "https://developer.api.autodesk.com/oss/v2/buckets/mybucket/objects/rac_basic_sample_project.rvt"
}

上传的模型的URN将是以上响应中的objectId,即urn:adsk.objects:os.object:mybucket/rac_basic_sample_project.rvt。在通过API POST job触发模型转换之前,objectId必须先由Base64编码器(例如this tool)进行编码,然后变为:

dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bXlidWNrZXQvcmFjX2Jhc2ljX3NhbXBsZV9wcm9qZWN0LnJ2dA==

但是有两个无效符号,即在base64编码的URN末尾的两个=。您必须按照以下说明删除它们,并使用此URL-safe Base64 (no padding)版本的URN来触发Forge MD API的翻译作业。

dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bXlidWNrZXQvcmFjX2Jhc2ljX3NhbXBsZV9wcm9qZWN0LnJ2dA

有关详细信息,请参见此官方教程:https://developer.autodesk.com/en/docs/model-derivative/v2/tutorials/prepare-file-for-viewer