繁体   English   中英

Autodesk Forge API。 如何获得特定版本的物品?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM