2017-05-25 61 views
0

我試圖在C#應用程序中下載Forge可見視圖,但我在下載svf文件時遇到問題。以下代碼返回「請求的資源不存在」。如果我在node.js提取器示例中運行相同的urn,它工作正常。我不熟悉在C#中使用REST API,可能缺少頭文件或參數。我嘗試過很多組合,但沒有成功。希望有人能指出我正確的方向。使用C#下載Autodesk Forge可見視圖使用C#

var urn = "urn:adsk.viewing:fs.file:<xxxxxURNxxxxxx>/output/0/0.svf"; 
var client = new RestClient("https://developer.api.autodesk.com"); 
var request = RestRequest("/derivativeservice/v2/derivatives/{" + urn + "}", Method.GET); 
request.AddParameter("Authorization",string.Format("Bearer " + Configuration.Default.AccessToken),ParameterType.HttpHeader); 
var result = client.Execute(request); 
+0

沒有什麼特別之處調用REST的API。 REST調用只是HTTP調用。如果你得到了404這意味着你使用了錯誤的URL。大括號不是有效的URL字符。你是否用佔位符發佈了一些字符串,但忘記實際刪除佔位符? –

+0

您是否嘗試粘貼使用字符串插值的ULR?您應該在這種情況下使用'$「/ derivativeservice/v2/derivatives/{urn}」' –

回答

0

我認爲你需要從URL中移除大括號,所以用RestRequest("/derivativeservice/v2/derivatives/" + urn, Method.GET);

+0

或者使用String.Format,或者使用'$「/ derivativeservice/v2/derivatives/{urn}插入'' –

+0

你的建議。我嘗試了很多格式組合,包括上面提到的組合,但沒有成功。奇怪的是,使用node.js我能夠下載這個文件與完全相同的urn。在我的C#項目中,我可以使用如下的花括號來下載清單: 'RestRequest(「/ derivativeservice/v2/manifest/{」+ urn64 +「}」,Method.GET);' – FrodeTo

+0

也許你可以使用像http://www.telerik.com/fiddler這樣的工具來查看C#代碼和Node.js代碼的情況究竟發送了什麼(數據,頭文件,URL)。如果一個人在工作,但不是另一個,那麼一定有區別。 –

相關問題