Autodesk Forge 清单仅返回缩略图,不返回 guid - svf 作业不运行



更新:从帖子作业中删除 x-ads-force:true 标志可以消除此问题

我有一些上周编写的代码,它经历了使用 forge 从 Fusion 360 文件中提取元数据的过程。这段代码有效 - 生成缩略图并创建了 svf 文件。元数据返回了一个 guid,我能够提取属性。

今天回过头来,这个过程不再有效。完成缩略图的作业将运行,并且确实会创建缩略图。创建 svf 的作业似乎也正确完成,但清单仅返回一项 - 缩略图。

当我拉取元数据时,没有 guid。

我想重申一下,我上周编写了代码,它工作正常。这只是在最终测试中它不起作用。

$urn 是一个基本编码的骨灰盒,适用于缩略图创建。

// Set up the data object
$metaData = '{
"input" : {
"urn" :"'.$urn.'"},
"output" :{ 
"formats" : [{"type":"svf",
"views":["2d", "3d"]
}]
}
}'; 

// POST THE JOBS
$url = 'https://developer.api.autodesk.com/modelderivative/v2/designdata/job';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS,  $metaData );
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer '.$token,
'x-ads-force:true',
'content-Type: application/json'
));
$response = curl_exec ($ch);
$err = curl_error($ch);
curl_close ($ch);

$jobStatus = "pending";
$numSteps = 0;

// STAY IN LOOP UNTIL STATUS IS GOOD
while ( ( $jobStatus != "good" ) && ( $jobStatus != "bad" ) && ( $numSteps < 50 ) )
{
sleep(10);
$url = 'https://developer.api.autodesk.com/modelderivative/v2/designdata/'.$urn.'/manifest';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer '.$token
));
$response = curl_exec ($ch);
$err = curl_error($ch);
curl_close ($ch);
$response = json_decode($response);
if ( $response->status == "success" )
{
$jobStatus = "good";
}else if ( ( $response->status == "failed" ) || ( $response->status == "timeout" ) )
{
$jobStatus = "bad";
}
$numSteps = $numSteps + 1;
}

此处的响应如下:

object(stdClass)#769 (8) {
["type"]=>
string(8) "manifest"
["hasThumbnail"]=>
string(4) "true"
["status"]=>
string(7) "success"
["progress"]=>
string(8) "complete"
["region"]=>
string(2) "US"
["urn"]=>
string(80) "dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLk1UTm1FS2RBUTc2VWVVVFVhVUtlRFE_dmVyc2lvbj01"
["version"]=>
string(3) "1.0"
["derivatives"]=>
array(1) {
[0]=>
object(stdClass)#801 (4) {
["status"]=>
string(7) "success"
["progress"]=>
string(8) "complete"
["outputType"]=>
string(9) "thumbnail"
["children"]=>
array(1) {
[0]=>
object(stdClass)#717 (6) {
["guid"]=>
string(36) "e163169a-4ada-4e9c-99c8-8e8083cc9969"
["type"]=>
string(8) "resource"
["urn"]=>
string(124)     "urn:adsk.viewing:fs.file:dXJuOmFkc2sud2lwcHJvZDpmcy5maWxlOnZmLk1UTm1FS2RBUTc2VWVVVFVhVUtlRFE_dmVyc2lvbj01/output/256x256.png"
["resolution"]=>
array(2) {
[0]=>
int(256)
[1]=>
int(256)
}
["mime"]=>
string(9) "image/png"
["role"]=>
string(9) "thumbnail"
}
}
}
}
}

然后,元数据端点返回一个空数组。

svf 作业似乎没有运行?

更新:从帖子作业中删除 x-ads-force:true 标志可以消除此问题

仅当您覆盖现有衍生产品时,才使用此标志。

最新更新