Autodesk 设计自动化 "Value cannot be null. (Parameter 'ForgeConfiguration.ClientId')"
Autodesk Design Automation "Value cannot be null. (Parameter 'ForgeConfiguration.ClientId')"
我从以下 link 下载了 Forge Design Automation 示例:
https://learnforge.autodesk.io/#/tutorials/modifymodels
但是可下载的代码示例运行不正常。当调用任何涉及 DesignAutomation API 的异步方法时,我得到 -> 值不能为空。 (参数 'ForgeConfiguration.ClientId')。所以,我想知道它是如何工作的,以及如何在 ForgeConfiguration class 中设置 ClientId,否则如果我做错了什么。我在出现错误的地方附加了一段代码。
[HttpGet]
[Route("api/forge/designautomation/engines")]
public async Task<List<string>> GetAvailableEngines()
{
List<string> allEngines = new List<string>();
try
{
dynamic oauth = await OAuthController.GetInternalAsync();
// define Engines API
string paginationToken = null;
while (true)
{
Page<string> engines = await _designAutomation.GetEnginesAsync(paginationToken);
allEngines.AddRange(engines.Data);
if (engines.PaginationToken == null)
break;
paginationToken = engines.PaginationToken;
}
allEngines.Sort();
}
catch (Exception error) {
throw error;
}
return allEngines; // return list of engines
}
以及方法的调用:
function prepareLists() {
list('engines', 'api/forge/designautomation/engines');
}
function list(control, endpoint) {
$('#' + control).find('option').remove().end();
jQuery.ajax({
url: endpoint,
success: function (list) {
if (list.length === 0)
$('#' + control).append($('<option>', { disabled: true, text: 'Nothing found' }));
else
list.forEach(function (item) { $('#' + control).append($('<option>', { value: item, text: item })); })
}
});
}
你是不是忘记在项目的环境变量中设置Forge App Keys了,查看https://learnforge.autodesk.io/#/environment/setup/netcore_da
页面
我从以下 link 下载了 Forge Design Automation 示例:
https://learnforge.autodesk.io/#/tutorials/modifymodels
但是可下载的代码示例运行不正常。当调用任何涉及 DesignAutomation API 的异步方法时,我得到 -> 值不能为空。 (参数 'ForgeConfiguration.ClientId')。所以,我想知道它是如何工作的,以及如何在 ForgeConfiguration class 中设置 ClientId,否则如果我做错了什么。我在出现错误的地方附加了一段代码。
[HttpGet]
[Route("api/forge/designautomation/engines")]
public async Task<List<string>> GetAvailableEngines()
{
List<string> allEngines = new List<string>();
try
{
dynamic oauth = await OAuthController.GetInternalAsync();
// define Engines API
string paginationToken = null;
while (true)
{
Page<string> engines = await _designAutomation.GetEnginesAsync(paginationToken);
allEngines.AddRange(engines.Data);
if (engines.PaginationToken == null)
break;
paginationToken = engines.PaginationToken;
}
allEngines.Sort();
}
catch (Exception error) {
throw error;
}
return allEngines; // return list of engines
}
以及方法的调用:
function prepareLists() {
list('engines', 'api/forge/designautomation/engines');
}
function list(control, endpoint) {
$('#' + control).find('option').remove().end();
jQuery.ajax({
url: endpoint,
success: function (list) {
if (list.length === 0)
$('#' + control).append($('<option>', { disabled: true, text: 'Nothing found' }));
else
list.forEach(function (item) { $('#' + control).append($('<option>', { value: item, text: item })); })
}
});
}
你是不是忘记在项目的环境变量中设置Forge App Keys了,查看https://learnforge.autodesk.io/#/environment/setup/netcore_da
页面