【问题标题】:Create a nested Entry in a Contentful Space using Content-Management-API使用 Content-Management-API 在内容空间中创建嵌套条目
【发布时间】:2022-04-11 22:23:36
【问题描述】:

我使用的是 contentful 提供的 Content-Managemen-API。

我正在使用它在空间中创建单个条目,并且效果很好:

const contentful = require('contentful-management')

const client = contentful.createClient({
  accessToken: '<content_management_api_key>'
})


client.getSpace('<space_id>')
.then((space) => space.createEntry('<content_type_id>', {
  fields: {
    title: { 'de-DE': 'Zusammenfassung', 'en-US': 'Summary' },
    slug: { 'en-US': 'example-app-summary' },
    modules: { 'en-US': [Object] }
  }
}))
.then((entry) => console.log(entry))
.catch(console.error)

我的问题:

我想创建一个嵌套条目。这意味着一个条目包含另一个条目,依此类推。

我已经尝试过发送有内容的数据结构:

fields: {
    title: { 'de-DE': 'Zusammenfassung', 'en-US': 'Summary' },
    slug: { 'en-US': 'example-app-summary' },
    modules: { 'en-US': [Object] }
  }

modules 属性包含如下所示的另一个条目元数据:

{ type: 'Link', linkType: 'Entry', id: '4Ng6zmj9e8Sw0eaYKQM8Es' }

当我使用上述数据执行 POST 请求时,它确实创建了一个条目,但嵌套条目不起作用,我看到了这一点。

问题:

有谁知道如何创建一个包含嵌套项的条目?我不确定要发送到 API 的数据结构。

【问题讨论】:

    标签: javascript contentful contentful-management


    【解决方案1】:

    我相信您缺少sys 键。例如,

    fields: {
      title: { 'de-DE': 'Zusammenfassung', 'en-US': 'Summary' },
      slug: { 'en-US': 'example-app-summary' },
      modules: { 'en-US': [
        {
          sys: {
            type: 'Link',
            linkType: 'Entry',
            id: '<module-entry-id>',
          },
        }
      ]},
    }
    

    参考资料:

    1. https://www.contentfulcommunity.com/t/creating-entry-with-associated-resource-specified/670/5
    2. https://github.com/contentful/contentful-management.js/issues/57#issuecomment-451435472

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-03
      • 2022-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多