Я пытаюсь изменить требуемую версию движка AppPackage, которую я разместил, используя v2 API автоматизации проектирования.
Я пытался использовать Почтальон и Клиент Forge Node.Я использую документацию Forge в качестве справки.
https://forge.autodesk.com/en/docs/design-automation/v2/reference/http/AppPackages(':id')-PATCH/
Мои учетные данные верны, и у меня есть действительный токен, но по какой-то причине я продолжаю получать статус 404 Not Found иошибка, которая гласит: «AppPackage с именем MyPlugin не принадлежит вам. Вы не можете работать с AppPackage, который вам не принадлежит».Кроме того, я получаю то же сообщение, когда пытаюсь удалить или обновить AppPackage.
Это действительно странно, потому что мне определенно принадлежит этот AppPackage.Я загрузил его с теми же учетными данными, и я могу просмотреть его, выполнив запрос GET для просмотра всех моих пакетов приложений.Кроме того, имя AppPackage является правильным, и я указал правильную область (код: все) при аутентификации.
Почему Design Automation считает, что этот AppPackage не принадлежит мне, и почему я не могу исправить, обновить или удалить его?
ОБНОВЛЕНИЕ 28.03.2009: Установка значения ресурса все еще приводит к той же самой ошибке
ОБНОВЛЕНИЕ 02/2/2019: получение свежего URL загрузки нетоже не работает.Я получаю внутреннюю ошибку сервера, говорящую «Ссылка на объект не установлена для экземпляра объекта».
const ForgeSDK = require('forge-apis');
const oAuth2TwoLegged = new ForgeSDK.AuthClientTwoLegged(FORGE_CLIENT_ID, FORGE_CLIENT_SECRET, SCOPES);
const appPackageApi = new ForgeSDK.AppPackagesApi();
const getToken = () => {
return oAuth2TwoLegged.authenticate();
};
const getUploadURL = () => {
return appPackageApi.getUploadUrl(oAuth2TwoLegged, oAuth2TwoLegged.getCredentials());
};
const patchPackage = (id, url) => {
const appPack = {
Resource: url,
RequiredEngineVersion: APP_PACKAGE_REQUIRED_ENGINE
};
return appPackageApi.patchAppPackage(id, appPack, oAuth2TwoLegged, oAuth2TwoLegged.getCredentials());
};
(async () => {
try {
const token = await getToken();
const url = await getUploadURL();
const patchPackRes = await patchPackage(APP_PACKAGE_ID, url);
if (patchPackRes.statusCode == 201)
console.log('Patch package succeeded!');
else
console.log('Patch package failed!' + patchPackRes.statusCode);
} catch (ex) {
console.log('Exception :(');
console.log(ex);
}
})();