Добавление мультимедийного поля при создании новой записи

Я искал и просматривал все документы SDK и документы Contentful API, у меня возникают трудности с пониманием того, как добавить поле мультимедиа со ссылкой на ресурс при создании новой записи. Я могу успешно создать другие поля, но медиа-поле должно быть объектом, но я не уверен, как именно его отформатировать, чтобы Contentful его принял.

const videoAsset = yield client.getAsset(assetID)

fields = {
  title: {
    "en-US": 'Title' //works
  },
  description: {
    "en-US": 'Description' //works
  },
  video: {
    "en-US": //contenful api wants an object, what does this object look like?
               //i have a published asset in videoAsset returned by client.getAsset()
  },
  team: {
    "en-US": 'Community' //works 
  },
}

const entryCreated = yield space.createEntry(action.payload.contentType, {
    fields: fields
})

Когда я говорю "работает", я имею в виду, что могу успешно создать запись, которая появляется в содержательном пространстве.

1 ответ

Решение

Я понял!

Этот человек делал не то же самое, но ответ с точки зрения форматирования был здесь:

https://github.com/contentful/contentful-management.js/issues/57

В основном поле должно выглядеть так:

const videoAsset = yield client.getAsset(assetID)

fields = {
  title: {
    "en-US": 'Title' //works
  },
  description: {
    "en-US": 'Description' //works
  },
  video: { 
    "en-US": {
       sys: {
         type: "Link", linkType: "Asset", id: assetID
       }
     }
  }, //this formatting works!
  team: {
    "en-US": 'Community' //works 
  },
}

const entryCreated = yield space.createEntry(action.payload.contentType, {
    fields: fields
})
Другие вопросы по тегам