Я пытаюсь загрузить файлы в формате PDF для плановых данных. Я делаю это согласно Как Могу ли я загрузить файл плана в формате pdf с помощью bim360 api или sdk?. Это работает, но я столкнулся с проблемой. У меня есть файл плана, который, кажется, работает правильно на docs.b360.autodesk.com. Но я не могу получить для него информацию о хранилище. Ответ выглядит так: jsonblob.com/5a604bf0-c969-11e9-9e84-7533c7e873da
Отношения хранения отсутствуют в версиях GET /: version_id / Relations / ref response для элементов: autodesk.bim360: Document
Ответы (1)
От нашей команды инженеров:
Атрибут «хранилище» доступен только для исходного файла (исходного файла). Отношения, которые клиенты использовали для получения «хранилища», представляют собой отношения «FileToDocument», которые сопоставляются из исходных файлов с разделенными страницами, поэтому они включают хранилище для загрузки.
Для документов, созданных с помощью «копирования», будут созданы новые отношения «КопироватьДокумент», которые сопоставляют скопированный источник (разделенные страницы) с скопированным документом, а не «Файл с документом».
Если вы хотите загрузить разделенные страницы, API (он называется экспортом): https://forge.autodesk.com/en/docs/bim360/v1/ссылка/http/document-management-projects-project_id-versions-version_id-exports-POST/, чтобы проверить статус задания экспорта, API: https://forge.autodesk.com/en/docs/bim360/v1/reference/http/document-management-projects-project_id-versions-version_id-exports-export_id-GET/
Если вы хотите загрузить исходный файл «копии» документа, вам нужно будет просмотреть отношения, чтобы найти исходные файлы и получить хранилища.
Например, если мы загружаем файл «A» в планы, он разделяется на документы «B» и «C», а затем мы копируем «B» в другую папку, и новый созданный документ - «D». Отношения «D»:
[{
"fromId": "B",
"toId": "D",
"extension": {
"type": "derived:autodesk.bim360:CopyDocument"
}
}]
А отношения «Б» таковы:
[{
"fromId": "B",
"toId": "D",
"extension": {
"type": "derived:autodesk.bim360:CopyDocument"
}
},
{
"fromId": "A",
"toId": "B",
"extension": {
"type": "derived:autodesk.bim360:FileToDocument"
}
}]
Итак, шаги для загрузки исходного файла «D»:
- Получите отношения «D». Отношения «D» не имеют «FileToDocument», но имеют «CopyDocument», нам нужно использовать «fromId» - «B» - «CopyDocument», чтобы снова получить отношения.
- На этот раз отношения «B» имеют «FileToDocument», а его «fromId» - «A», поэтому мы можем выполнить поиск в возвращенном ответе, чтобы найти «Relations.storage.meta.link.href» из «A» и загрузить его.
- Обратите внимание: поскольку «B» и «D» находятся в разных папках, иногда пользователи имеют права доступа только к «D», но не могут получить доступ к «A» и «B», в этом случае шаг 2 вернет ошибку 403. , клиенты-клиенты должны справиться с этой ситуацией.