api - Autodesk Forge API。如何获取项目的特定版本?

标签 api autodesk-forge

我要从 Autodesk Forge 获取该项目的特定版本。我用这个instruction去做吧。有一个请求模板:

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(错误请求)。

当我以同样的方式获取该项目时(当然使用为此目的 template),一切都很好。

我应该使用 this模板还是其他? 我究竟做错了什么?

最佳答案

version_id 应转义为 URL 安全形式,因为存在一些保留且不安全的关键字(即 :.?= )在此参数中。他们将使您对 Forge 服务的请求无效。 (Ref)

例如,您的 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 ) 来实现相同的目标。

关于api - Autodesk Forge API。如何获取项目的特定版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49065775/

相关文章:

api - 可以分享您的 trello 开发者 API key 吗?

javascript - 制作Ajax Handler,需要问一些安全问题

java - Android Google 登录失败 com.google.android.gms.common.api.ApiException : 12500

javascript - 如何在 Autodesk Viewer 中设置性能和外观设置?

autodesk-forge - Autodesk Forge 查看器 v7 : Open PDFs

api - 使用 HTTP DELETE 方法取消正在进行的操作

java - Android - 谷歌电子表格 API

autodesk-forge - STEP 文件部分图形问题

autodesk-forge - Autodesk Forge Viewer - 远近剪裁问题

ios - 如何在 ios 应用程序中绘制图钉问题?