我正在尝试使用content-management-api来createAsset
。
我正在使用的JavaScript脚本是
./ contentful / contentful-import.js
const contentful = require('contentful-management');
const client = contentful.createClient({
accessToken:'AUTHTOKEN'
});
client
.getSpace('SPACE')
.then(space => {
space.createAsset({
fields: {
title: {
'en-US': 'Example 1'
},
description: {
'en-US': 'Example Description'
},
file: {
'en-US': {
contentType: 'image/jpeg',
fileName: 'example1.jpeg',
upload:'https://example1.jpeg'
}
}
}
}),
space.createAsset({
fields: {
title: {
'en-US': 'Example 2'
},
description: {
'en-US': 'Example Description'
},
file: {
'en-US': {
contentType: 'image/jpeg',
fileName: 'example2.jpeg',
upload:'https://example2.jpeg'
}
}
}
}),
//... 700 other assets
})
.then(asset => asset.processForAllLocales())
.then(asset => console.log(asset))
.catch(console.error)
我运行的CLI
函数是
contentful space migration ./contentful/contentful-import.js
哪个返回错误TypeError: migrationCreator is not a function
我已经在内容文档中找到了其他地方,但是看不到有任何帮助。
我是要尝试正确上传资产还是做错了什么?
答案 0 :(得分:1)
您编写的脚本是“普通” node.js脚本。
node contentful-import.js
这样做会很好。 contentful space migration
使用特定格式的特定脚本(它们必须导出migrationCreator
)。有效的迁移将是:
module.exports = function (migration, context) {
const dog = migration.createContentType('dog');
const name = dog.createField('name');
name.type('Symbol').required(true);
};
contentful-cli在后台使用contentful-migration。您将在此处找到更多文档。
我将立即打开CLI文档的PR。 :)