我正在研究在Forge上运行的Revit插件。该插件将处理BIM 360上的Revit文件。我可以按照以下步骤获取从BIM 360下载Revit文档的URL:
https://forge.autodesk.com/en/docs/bim360/v1/tutorials/document-management/download-document/
但这不是签名URL,Forge Revit应用程序需要根据以下条件签名URL:
https://forge.autodesk.com/en/docs/design-automation/v3/tutorials/revit/step7-post-workitem/
如何解决此问题?有没有办法从BIM 360获取签名的URL?有没有办法在我的工作项中将未签名的URL传递给Forge?
答案 0 :(得分:0)
是的,这很有可能。调查this endpoint。如果我没记错的话,这会生成一个签名的URL,该URL可在您描述的上下文中使用。
欢呼
Ps: 感谢您提出这个问题,我也不知道该功能还存在!
EDIT
尚未针对BIM360中的文件实现此功能,但将来在实现此功能时可能与之相关
答案 1 :(得分:0)
不幸的是,您无法使用https://forge.autodesk.com/en/docs/data/v2/reference/http/buckets-:bucketKey-objects-:objectName-signed-POST/为BIM360文件创建签名的URL,原因是创建“签名的网址”需要存储桶所有者访问,而您不是BIM360文件的存储桶所有者:(。
但是我们还有其他一些方法,可以通过在标头中提供用户令牌来直接从Revit DA下载文件或将文件直接上传到BIM360文档,简而言之,就像这样:
{
"activityId":"{{dasNickName}}.CreateWindowFamilyActivity+dev",
"arguments":{
"templateFile":{
"url":"https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/72d5e7e4-89a7-4cb9-9da0-2e2bbc61ca8e.rvt",
"Headers":{
"Authorization":"Bearer {{3leggedAccessToken}}"
}
},
"outputFamily":{
"verb":"put",
"url":" https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/2a6d61f2-49df-4d7b.rvt",
"Headers":{
"Authorization":"Bearer {{3leggedAccessToken}}"
}
}
}
}
有关更多信息,请查看https://forge.autodesk.com/blog/upload-your-design-automation-output-file-bim360-docs上的博客文章