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/