Autodesk Forge: скачать приложение с контрольным списком - PullRequest
0 голосов
/ 30 апреля 2019

Когда я получаю экземпляр контрольного списка, я получил следующий раздел, связанный с вложением.

    {
  "type": "instance_item_attachments",
  "id": "5a0a2acf-b02a-4b88-86cc-962c3831bdee",
  "attributes": {
    "name": "6856ad10-6ab0-11e9-9150-9fda3da0626e.png",
    "attachmentType": "OSS",
    "mimeType": "image/png",
    "uploadStatus": "COMPLETED",
    "urns": [
      {
        "urn": "urn:adsk.wipprod:fs.file:vf.gy4mB910SneymU86Gc4O0A?version=1",
        "type": "WIP"
      },
      {
        "urn": "urn:adsk.objects:os.object:wip.dm.prod/ede3de59-1b68-485c-82fe-f1f2af3442fe.png",
        "type": "OSS"
      },
      {
        "urn": "urn:adsk.checklists.cs.attachment:58b8afcf-d7cd-49ad-aa10-78c50610761b/5a0a2acf-b02a-4b88-86cc-962c3831bdee",
        "type": "CHECKLIST"
      }
    ],
    "createdAt": "2019-04-29T18:55:51.334Z",
    "updatedAt": "2019-04-29T18:55:54.137Z",
    "createdBy": "TAKCJQU6HGXW",
    "modifiedBy": "TAKCJQU6HGXW",
    "permittedActions": [
      "canArchive",
      "canEdit"
    ],
    "permittedAttributes": [
      "mimeType",
      "uploadStatus"
    ]
  },
  "links": {
    "self": "/containers/58b8afcf-d7cd-49ad-aa10-78c50610761b/instance_item_attachments/5a0a2acf-b02a-4b88-86cc-962c3831bdee"
  },
  "relationships": {
    "container": {
      "meta": {
        "relation": "primary",
        "readOnly": false
      },
      "links": {
        "self": "/containers/58b8afcf-d7cd-49ad-aa10-78c50610761b/instance_item_attachments/5a0a2acf-b02a-4b88-86cc-962c3831bdee/relationships/container",
        "related": "/containers/58b8afcf-d7cd-49ad-aa10-78c50610761b/instance_item_attachments/5a0a2acf-b02a-4b88-86cc-962c3831bdee/container"
      },
      "data": {
        "type": "containers",
        "id": "58b8afcf-d7cd-49ad-aa10-78c50610761b"
      }
    },
    "item": {
      "meta": {
        "relation": "primary",
        "readOnly": false
      },
      "links": {
        "self": "/containers/58b8afcf-d7cd-49ad-aa10-78c50610761b/instance_item_attachments/5a0a2acf-b02a-4b88-86cc-962c3831bdee/relationships/item",
        "related": "/containers/58b8afcf-d7cd-49ad-aa10-78c50610761b/instance_item_attachments/5a0a2acf-b02a-4b88-86cc-962c3831bdee/item"
      },
      "data": null
    }
  }
}

Теперь я хочу загрузить это вложение, предоставленный URN: wip.dm.prod/ede3de59-1b68-485c-82fe-f1f2af3442fe.png

Если я пытаюсь получить к нему доступ по следующей ссылке, он говорит, что не найден

developer.api.autodesk.com /oss / v2 / buckets / wip.dm.prod / b30e3ffe-333b-446c-b834-e2f2141096b4.png

Однако, если я немного изменил URL (добавив объекты),все работает нормально.

developer.api.autodesk.com / oss / v2 / buckets / wip.dm.prod / объекты / b30e3ffe-333b-446c-b834-e2f2141096b4.png

Я что-то здесь не так делаю?или это ошибка в предоставленной урне?

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Добавление к Адам Надя ответа , вам нужно будет сломать URN.Исходя из исходного вопроса:

urn:adsk.objects:os.object:wip.dm.prod/ede3de59-1b68-485c-82fe-f1f2af3442fe.png

В .NET вы можете попробовать (используя System.Linq):

string bucketKey = urn.Split("/").First().Split(":").Last();
string objectName = urn.Split("/").Last();

Затем перестроить как:

string attachemtnUrl = string.Format("{0}/oss/v2/buckets/{1}/objects/{2}", BASE_URL, bucketKey, objectName);

Ивам также понадобится заголовок Authorization с действительным токеном доступа.

1 голос
/ 02 мая 2019

id / urn объекта в OSS (Служба хранения объектов) содержит имя сегмента и имя объекта послеРаздел " urn: adsk.objects: os.object: ".

Существует руководство по загрузке файла https://forge.autodesk.com/en/docs/data/v2/tutorials/download-file/

. Оно показывает, что ответ относительно item содержит как id , так и фактический URL ссылки для скачивания в разделе storage :

"storage": {
  "data": {
    "type": "objects",
    "id": "urn:adsk.objects:os.object:wip.dm.prod/977d69b1-43e7-40fa-8ece-6ec4602892f3.rvt"
  },
  "meta": {
    "link": {
      "href": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/977d69b1-43e7-40fa-8ece-6ec4602892f3.rvt"
    }
  }
}

Там вы можете увидеть связь между id и URL , который вы можете использовать для загрузки файла

...