创建Contentful条目时添加关联资产的媒体字段疑问
如何在Contentful中创建条目时关联已发布资产
你遇到的问题是Contentful的媒体关联字段需要特定的Link引用格式,而不是直接传入完整的资产对象。既然你已经获取到了已发布的videoAsset,只需要提取它的元数据来构造符合要求的引用对象即可。
正确的video字段格式
修改你的fields对象中video字段的内容,使用以下结构:
fields = { title: { "en-US": 'Title' }, // works description: { "en-US": 'Description' }, // works video: { "en-US": { sys: { type: "Link", linkType: "Asset", id: videoAsset.sys.id } } }, team: { "en-US": 'Community' } // works }
为什么这样做?
Contentful的关联字段(无论是资产还是其他条目)都要求传入Link类型的对象,这个对象需要包含三个核心属性:
sys.type: 固定为"Link",告诉Contentful这是一个引用sys.linkType: 这里填"Asset"(如果是关联条目则填"Entry"),指定引用的资源类型sys.id: 目标资产的唯一ID,从你通过client.getAsset(assetID)获取的videoAsset.sys.id中提取即可
因为你已经确认videoAsset是已发布的状态,所以直接用它的ID构造引用就足够了,Contentful会自动根据这个ID关联对应的资产。
内容的提问来源于stack exchange,提问作者user2231715
相关产品推荐
相关产品推荐

