[英]Autodesk Forge API. How to get specific version of item?
我要從 Autodesk Forge 獲取該項目的特定版本。 我使用這個指令來做到這一點。 有一個請求模板:
GET projects/:project_id/versions/:version_id/item
所以我的請求看起來很相似(為了簡潔,我剪掉了一部分):
https://developer.api.autodesk.com/data/v1/projects/a.cGV ... TU2/versions/urn:adsk.wipprod:fs.file:vf.lTvo5GGBRzidiQ8Kredbaw?version=1/item
但是請求返回錯誤 400 (錯誤請求)。
當我以相同的方式(當然使用用於此模板的預期)獲取項目時,一切正常。
我應該使用這個模板還是其他模板? 我究竟做錯了什么?
version_id
應該轉義為 URL 安全形式,因為此參數中有一些保留和不安全的關鍵字(即:
、 .
、 ?
和=
)。 他們將使您對 Forge 服務的請求無效。 (參考)
例如,您的 version_id 是urn:adsk.wipprod:fs.file:vf.d34fdsg3g?version=2
,那么您必須將其轉換為:
urn%3Aadsk.wipprod%3Afs.file%3Avf.b909RzMKR4mhc3O7UBY_8g%3Fversion%3D2
。
在 JavaScript 中, encodeURIComponent()
( Ref ) 函數可以幫助您進行這種轉換。 這是給您的示例:
encodeURIComponent('urn:adsk.wipprod:fs.file:vf.d34fdsg3g?version=2')
如果您的代碼是用 C# 編寫的,您可以調用Uri.EscapeDataString()
( Ref ) 來存檔相同的目標。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.