hi
I wrote the code but I get “Error: Request failed with status code 409
const axios = require(‘axios’);.js:47
Response data: {code: ‘InvalidArgument’, message: ‘Invalid Parameter: ‘type’ must be a valid asset type.’}
const axios = require(‘axios’);.js:50
Response status: 409” Not working.
I do not know the reason.
const axios = require(‘axios’);
const fs = require(‘fs’);
const path = require(‘path’);
const FormData = require(‘form-data’);
const uuidv4 = require(‘uuid’).v4;
async function uploadAsset(filePath, accessToken) {
const form = new FormData();
form.append(‘file’, fs.createReadStream(filePath), {
filename: ${path.basename(filePath, '.fbx')}_${uuidv4()}.fbx
});
form.append(‘type’, ‘3D_MODEL’);
const response = await axios.post(‘https://api.cesium.com/v1/assets’, form, {
headers: {
…form.getHeaders(),
‘Authorization’: Bearer ${accessToken}
}
});
return response.data.assetMetadata.id;
}
// … rest of the script (createTilingJob, monitorTilingJob, downloadAsset functions)
(async () => {
try {
const accessToken = ‘eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5YjQwMDFlYS0wZjlkLTQxMGEtOTM3Ny02MTBjNDk4YTliODgiLCJpZCI6MTIxNzg5LCJpYXQiOjE2ODExNzUyMDR9.mmZdbZA91HF43cYkgp8svQ_ZKPxpdyGtjLFgwPqrlYU’;
const fbxFilePath = ‘C:\Users\user\Downloads\Export\Gimpo_Terrains.fbx’;
const outputFolder = ‘C:\Users\user\Downloads\Export\Output’;
const lat = 40.7128;
const lon = -74.0060;
const height = 0;
const assetId = await uploadAsset(fbxFilePath, accessToken);
console.log(`Uploaded FBX file. Asset ID: ${assetId}`);
const tilingJobId = await createTilingJob(assetId, accessToken, lat, lon, height);
console.log(`Created tiling job. Job ID: ${tilingJobId}`);
console.log('Waiting for tiling job to complete...');
const assetUrl = await monitorTilingJob(tilingJobId, accessToken);
console.log(`Tiling job completed. Asset URL: ${assetUrl}`);
await downloadAsset(assetUrl, accessToken, outputFolder);
} catch (error) {
console.error(‘Error:’, error.message);
if (error.response) {
console.error('Response data:', error.response.data);
console.error('Response status:', error.response.status);
}
}
})();