Autodesk Forge API。如何获得特定版本的项目?

问题描述 投票:2回答:1

我要从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模板还是其他?我究竟做错了什么?

api autodesk-forge
1个回答
2
投票

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)来归档相同的目标。

© www.soinside.com 2019 - 2024. All rights reserved.