[英]How to form a “GET :urn/manifest/:derivativeurn” request?
我不知道如何从Forge下载创建的衍生产品。
这是我从“ GET:urn / manifest”请求中获得的信息:
{
"type": "manifest",
"hasThumbnail": "false",
"status": "success",
"progress": "complete",
"region": "US",
"urn": "dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6ZGVyaXZhdGV0bXAvU3QlQzMlQTRuZGVyX1lfT2JlbiUyMHYxLmYzZA",
"version": "1.0",
"derivatives": [
{
"name": "Ständer_Y_Oben v1.f3d",
"hasThumbnail": "false",
"status": "success",
"progress": "complete",
"outputType": "obj",
"children": [
{
"guid": "4064073b-a56c-4007-8b87-3cf87c821361",
"type": "resource",
"role": "obj",
"status": "success",
"progress": "complete",
"mime": "application/octet-stream",
"urn": "urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6ZGVyaXZhdGV0bXAvU3QlQzMlQTRuZGVyX1lfT2JlbiUyMHYxLmYzZA/output/files/6f7db9b2-925f-44b3-92e8-a5aeeb3954d2/Ständer_Y_Oben v1.obj"
}
]
}
]
那么如何形成一个有效的“ GET:urn / manifest /:derivativeurn”请求呢? 文档说“ urn应该是Base64(URL安全)编码的设计URN”,而“ deriveativeurn应该是衍生产品的URL编码的URN”。
但是结果始终是消息“请求的派生不属于设计数据。”。
那怎么了? 是文档还是我?
问候,迈克尔
根据GET:urn / manifest /:derivativeurn的文档,由于该参数中包含一些保留和不安全的关键字(即:
, .
, ?
和=
),因此应该将derivativeurn
值转义为URL安全形式。 他们将使您对Forge服务的请求无效。 ( 参考 )
您的文件骨灰盒是: urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6ZGVyaXZhdGV0bXAvU3QlQzMlQTRuZGVyX1lfT2JlbiUyMHYxLmYzZA/output/files/6f7db9b2-925f-44b3-92e8-a5aeeb3954d2/Ständer_Y_Oben v1.obj
要下载此文件,你必须把它改造成这种形式: urn%3Aadsk.viewing%3Afs.file%3AdXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6ZGVyaXZhdGV0bXAvU3QlQzMlQTRuZGVyX1lfT2JlbiUyMHYxLmYzZA%2Foutput%2Ffiles%2F6f7db9b2-925f-44b3-92e8-a5aeeb3954d2%2FSt%C3%A4nder_Y_Oben%20v1.obj
在JavaScript中, encodeURIComponent()
( Ref )函数可以帮助您进行此转换。 这是为您提供的示例:
encodeURIComponent('urn:adsk.viewing:fs.file:dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6ZGVyaXZhdGV0bXAvU3QlQzMlQTRuZGVyX1lfT2JlbiUyMHYxLmYzZA/output/files/6f7db9b2-925f-44b3-92e8-a5aeeb3954d2/Ständer_Y_Oben v1.obj')
如果您使用C#进行编码,则Uri.EscapeDataString()
( Ref )可以帮助您归档相同的目标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.