如何通过机车CMS RESTful API创建新的内容条目



我使用LomotiveCMS创建了一个网站,我创建了两种内容类型,称为照片和图库,这些内容类型有关系,因此我可以在我的网站上创建图像库。

我目前正在寻找使用RESTful API,以便在Photo遍历文件时为其创建多个内容条目。

我可以连接到API没有问题和修改网站等

我假设新内容条目的cURL命令将采用以下形式:

curl -X POST -d 'photo[image_id]=blah&photo[gallery]=1234&photo[file]=<filepath>photo[published]=true' 'http://<your site>/locomotive/api/current_site.json?auth_token=xxxx'

然而,我不确定如何在这个命令中传递文件,我现在已经用它代替了,你会如何编写这个部分?

我的字段设置如下照片:

fields: 
- image_id:
label: Image ID
type: string
required: true
localized: false
- file: # Name of the field
label: File
type: file
required: true
localized: false
- gallery: # Name of the field
label: Gallery
type: belongs_to
required: true
localized: false
# Slug of the target content type (eg post if this content type is a comment)
class_name: gallery

我最终制作了一个Ruby脚本来解析文件,并通过将发布数据发送到来上传它们

/locomotive/api/content_types/photos/entries.json?auth_token=XXXX

以下代码可能有助于完成此任务:

data = {
    content_entry: {
        title:   'Title',
        image: File.new('media/images/screen.png'),
    }
}
HTTMultiParty.post(
    "http://localhost:8080/locomotive/content_types/blogs/entries.json?auth_token=#{@token}",
    query:    data,
    headers: { 'Content-Type' => 'application/json' }
)

我使用HTTMultiParty,因为我们实际上需要做一个多部分的帖子。关于如何使用卷曲的有用信息:https://github.com/locomotivecms/documentation/pull/175

要获得代币,您需要这样的东西:

HTTParty.post(
    'http://localhost:8080/locomotive/api/tokens.json',
    body: { api_key: 'YOUR_API_KEY_HERE' }
)

我希望这能有所帮助。

到目前为止,有一个适用于机车CMS的api gem,适用于2.5.x和3.xhttps://github.com/locomotivecms/coal

对于type=file的内容条目字段,使用的属性需要以url结尾https://github.com/locomotivecms/engine/pull/511/commits/f3a47ba5672b7a560e5edbef93cc9a4421192f0a

相关内容

  • 没有找到相关文章

最新更新