API управления данными Autodesk Forge: в полезной нагрузке не найдено "extension.type"

Я пытаюсь загрузить файл, используя "POST projects /: project_id / storage": "Создает место хранения в OSS, куда могут быть загружены данные".

Я получил идентификатор проекта и имя папки, где я хочу создать место для хранения файла "vaac_RevBlockImperial.dwg". Я создал этот curl-call:

curl
 -X POST
 -H "Authorization: Bearer 3-legged-token-with-data:create-scope" 
 -H "Accept: application/vnd.api+json" 
 -H "Content-Type: application/vnd.api+json" 
"https://developer.api.autodesk.com/data/v1/projects/a.cGVyc30uYWw6dWUyOTNmYmU0I0QyMDE2MDUwOTMxNzU3Mjgx/storage" 
 -d "{"""data""": {"""type""": """object""", """attributes""": {"""name""": """vaac_RevBlockImperial.dwg"""}, """relationships""": { """target""": {"""data""": { """type""": """folders""", """id""": """urn:adsk.wipprod:fs.folder:co.z9LUCe1_QoKWT8VFukdc9Q""" }}}}}"

В результате я получаю следующий ответ:

{
    "jsonapi": {
    "version": "1.0"
},
"errors": [{
    "id": "2919a501-a362-46c4-a441-03fefcacb7b2",
    "status": "400",
    "code": "BAD_INPUT",
    "title": "One or more input values in the request were bad",
    "detail": "No \"extension.type\" found in payload."
}]
}

Что значит "деталь": "Нет \"extension.type\"найдено в полезной нагрузке." имею в виду?

3 ответа

Ваша полезная нагрузка содержит недопустимый тип, то есть он должен быть "тип: объекты" вместо "тип: объект".

Питер

Спасибо за ваш ответ. Это привело меня к онлайн- JSON-валидатору, где я проверил тело на предмет его определения. В результате я обнаружил, что тело пропало

"jsonapi": {
    "version": "1.0"
  },

и в части атрибутов "расширение" требовалось:

"extension" : {
  "type": "myType",
  "version": "myVersion",
  "schema": { "href": "myReference" }
  }

Это дало мне следующий JSon-body для вызова "POST projects/:project_id/storage":

{
    "jsonapi": {
        "version": "1.0"
    },
    "data": {
        "type": "object",
        "attributes": {
            "name": "myfile.jpg",
            "extension": {
                "type": "myType",
                "version": "myVersion",
                "schema": {
                    "href": "myReference"
                }
            }
        },
        "relationships": {
            "target": {
                "data": {
                    "type": "folders",
                    "id": "urn:adsk.wipprod:fs.folder:co.mgS-lb-BThaTdHnhiN_mbA"
                }
            }
        }
   }
}

Что дало мне еще одну ошибку при публикации, но JSon был принят. Кажется, что данный пример (ы) не был обновлен до последнего определения.

Быстрое обновление после ответов, уже предоставленных в этой теме. Электронная документация и учебное пособие были обновлены с учетом этих ответов: https://developer.autodesk.com/en/docs/data/v2/tutorials/upload-file/

Другие вопросы по тегам