Получить все записи с включенными изображениями, используя Contentful REST API
Я использую машинописный код и Contentful-ManagementAPI (вот почему я не использую клиент SDK) и хочу получить все записи определенного типа. Я называю Api следующим образом:axios.get("https://api.contentful.com/spaces/" +
space_id +
"/entries?content_type=" +
content_type+"&include="+2)
Я получаю все запрошенные записи, но в поле изображения я получаю это:
poster:en-US:
sys:
{type: "Link", linkType: "Asset", id: "222xxm9aaAu4GiAc2ESw0Q"}
Итак, как я могу получить URL изображения? Буду признателен за любую помощь. Спасибо
3 ответа
Из содержательных документов:
CMA не поддерживает параметры include и locale.
Таким образом, я мог бы лучше использовать API доставки для извлечения контента и API управления для создания / обновления / удаления. Вот как это должно быть использовано.
Указанные активы и записи можно найти в includes
объект в ответе API.
Ответ должен выглядеть примерно так:
{
"sys": {
"type": "Array"
},
"total": 9,
"skip": 0,
"limit": 100,
"items": [ // Your items here ],
"includes": {
"Asset": [ // Your included assets here, this is where you find the url to the image ]
"Entry": [ // Any referenced entries not included in the items array above ]
}
Таким образом, чтобы найти фактический актив, который включает в себя все ваши данные (включая URL-адрес), вам нужно будет найти правильный актив, используя идентификатор ссылки (222xxm9aaAu4GiAc2ESw0Q), в includes.Asset
объект.
Попробуйте include=10. Если вы используете несколько локалей, предоставьте резерв для каждой локали. Это сработало для меня.