Отношения хранения отсутствуют в версиях GET /: version_id / Relations / ref response для элементов: autodesk.bim360: Document

Я пытаюсь загрузить файлы в формате PDF для плановых данных. Я делаю это согласно Как Могу ли я загрузить файл плана в формате pdf с помощью bim360 api или sdk?. Это работает, но я столкнулся с проблемой. У меня есть файл плана, который, кажется, работает правильно на docs.b360.autodesk.com. Но я не могу получить для него информацию о хранилище. Ответ выглядит так: jsonblob.com/5a604bf0-c969-11e9-9e84-7533c7e873da


person Adam B    schedule 03.09.2019    source источник
comment
Похоже, это скопированный «документ»: производный: autodesk.bim360: CopyDocument. К сожалению, удаление связей с исходным файлом происходит в соответствии с планом, а это означает, что он не сообщает исходному файлу. Записали желание: FDM-2716. Я уточняю у команды, есть ли по этому поводу какие-либо обновления.   -  person Xiaodong Liang    schedule 05.09.2019


Ответы (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»:

  1. Получите отношения «D». Отношения «D» не имеют «FileToDocument», но имеют «CopyDocument», нам нужно использовать «fromId» - «B» - «CopyDocument», чтобы снова получить отношения.
  2. На этот раз отношения «B» имеют «FileToDocument», а его «fromId» - «A», поэтому мы можем выполнить поиск в возвращенном ответе, чтобы найти «Relations.storage.meta.link.href» из «A» и загрузить его.
  3. Обратите внимание: поскольку «B» и «D» находятся в разных папках, иногда пользователи имеют права доступа только к «D», но не могут получить доступ к «A» и «B», в этом случае шаг 2 вернет ошибку 403. , клиенты-клиенты должны справиться с этой ситуацией.
person Xiaodong Liang    schedule 16.09.2019