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

页面