簡體   English   中英

Forge .NET API RuntimeBinderException

[英]Forge .NET API RuntimeBinderException

我正在使用 Forge .NET API 1.3.0

我正在嘗試通過 API 獲取集線器,就像示例中描述的那樣

我知道...

  • 我的身份驗證有效
  • 查詢結果正確數據

但由於某種原因,以下行因 RuntimeBinderException 而失敗:

Hubs hubs = apiInstance.GetHubs(/*filterId, filterExtensionType*/);

異常消息說:

拋出異常:未知模塊中的“Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”。 附加信息:無法將類型“Autodesk.Forge.Model.DynamicJsonResponse”隱式轉換為“Autodesk.Forge.Model.Hubs”

很明顯,示例顯示的方法不再有效(?)。 生成的數據應該如何轉換為 Hubs 類型。

好的,我設法通過使用原始數據使其工作。 下面是一個例子:

var hubs = await hubsApi.GetHubsAsync();
foreach (KeyValuePair<string, dynamic> hubInfo in new DynamicDictionaryItems(hubs.data))
{
  new { Id = hubInfo.Value.id, Name = hubInfo.Value.attributes.name }
}

作為參考,以下類型的數據位於“hubs.data”數組中:

{
"type": "hubs",
"id": "b.aaaaaaaa-bbbb-cccc-1111-222223333333",
"attributes": {
    "name": "The hub",
    "extension": {
        "type": "hubs:autodesk.bim360:Account",
        "version": "1.0",
        "schema": {
            "href": "https://developer.api.autodesk.com/schema/v1/versions/hubs:autodesk.bim360:Account-1.0"
        },
        "data": {}
    }
},
"links": {
    "self": {
        "href": "https://developer.api.autodesk.com/project/v1/hubs/b.aaaaaaaa-bbbb-cccc-1111-222223333333"
    }
},
"relationships": {
    "projects": {
        "links": {
            "related": {
                "href": "https://developer.api.autodesk.com/project/v1/hubs/b.aaaaaaaa-bbbb-cccc-1111-222223333333/projects"
            }
        }
    }
}

}

.NET 教程展示了如何列出集線器,您還可以下載即用型示例DataManagementController代碼顯示了它的實際效果, 請參見此處

這也發生在我身上。 我使用 Json Deserializer 解決了它。

        string token = "a token";
        var apiInstance = new HubsApi();
        apiInstance.Configuration.AccessToken = token;

        // Get Hub
        dynamic hubsJson = apiInstance.GetHubs();
        Hubs allHubs = JsonConvert.DeserializeObject<Hubs>(hubsJson.ToString());

現在 json 對象轉換為 Forge Api Hubs 類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM