php - 当我使用 php-client-forge autodesk api 时,404 错误连接到 API (https://developer.api.autodesk.com/modelderivative/v2/designdata/job)
问题描述
我想在我的 php 应用程序中使用 autodesk forge viewer api 来查看 ifc 文件,所以我使用了 forge-php-client sdk.everything 工作正常,但翻译工作没有,我收到此错误:[404 ] 连接到 API 时出错(https://developer.api.autodesk.com/modelderivative/v2/designdata/job 这里的代码:
/step1
Configuration::getDefaultConfiguration()
->setClientId('xxxxxxxxxxxxxxxxxxxxxx')
->setClientSecret('xxxxxxxxxxxxxxxxxx');
$twoLeggedAuth = new TwoLeggedAuth();
$twoLeggedAuth->setScopes( [ 'bucket:create' ] );
$twoLeggedAuth->fetchToken();
$tokenInfo = [
'accessToken' => $twoLeggedAuth->getAccessToken(),
'expiry' => time() + $twoLeggedAuth->getExpiresIn(),
];
//step2
$twoLeggedAuth->setScopes( [ 'bucket:create' ] );
$twoLeggedAuth->fetchToken();
$apiInstance = new BucketsApi( $twoLeggedAuth );
$bucket_info = array(
'bucket_key' => 'nebnibim5'.time(),
'policy_key' => 'transient'
);
$post_buckets = new PostBucketsPayload( $bucket_info );
$result = $apiInstance->createBucket( $post_buckets, null );
$twoLeggedAuth = new TwoLeggedAuth();
$twoLeggedAuth->setScopes( [ 'data:write' ] );
$twoLeggedAuth->fetchToken();
$apiInstance = new ObjectsApi( $twoLeggedAuth );
$bucket_key = $bucket_info['bucket_key'];
$filename = 'C:\wamp\www\nebnibim\storage\app\bibliothequeObjets\user69\13111006_IFCR2_Geo_Openings_1.ifc ';
$body = $filename;
$file = new SplFileObject( $body );
$content_length = $file->getSize();
$object_name = $file->getFilename();
//try {
$result2 = $apiInstance->uploadObject( $bucket_key, $object_name, $content_length, $body, null, null );
//step4
$urn = 'urn:adsk.objects:os.object:nebnibim51548575979/13111006_IFCR2_Geo_Openings_1.ifc';
$base64Urn = rtrim( strtr( base64_encode( $urn ), '+/', '-_' ), '=' );
$twoLeggedAuth->setScopes( [ 'data:read', 'data:write' ] );
$twoLeggedAuth->fetchToken();
$apiInstance2 = new DerivativesApi( $twoLeggedAuth );
$jobInput = array(
'urn' => 'dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bmVibmliaW01MTU0ODU3NTk3OS8xMzExMTAwNl9JRkNSMl9HZW9fT3BlbmluZ3NfMS5pZmM'
);
$jobPayloadInput = new JobPayloadInput( $jobInput );
$jobOutputItem = array(
'type' => 'svf',
'views' => array( '2d', '3d' )
);
$jobPayloadItem = new JobPayloadItem( $jobOutputItem );
$jobOutput = [
'formats' => array( $jobPayloadItem )
];
$jobPayloadOutput = new JobPayloadOutput( $jobOutput );
$job = new JobPayload();
$job->setInput( $jobPayloadInput );
$job->setOutput( $jobPayloadOutput );
$x_ads_force = false;
$resultat= $apiInstance2->translate( $job,$x_ads_force );
解决方案
推荐阅读
- django - uuid 作为关键字参数
在 django urls.py 中 - html - 单击时将 div 的角度设置为不同的颜色
- crystal-reports - rpt 文件中子报告上的框对象被切断
- yarnpkg - Yarn install 触发了我的 package.json 中的所有脚本,正常吗?
- javascript - 节点JS数组形成
- javascript - chart.js 在固定时间尺度上绘制时间序列数据
- php - 更改 CSS 中的选择器时未应用样式
- javascript - 球坐标javascript
- c++ - 试图用简单的方程创建函数
- c# - Xamarin.Android 保存当前进度