Получение всех распечаток изображений из магазина Etsy

СИТУАЦИЯ

Я разбирался в API песочницы Etsy, пытаясь найти решение для клиента, который хочет показать изображение и заголовок по умолчанию для всех своих списков Etsy. После нажатия они хотят, чтобы он перенаправил их с веб-сайта на страницу этого списка Esty.

Теперь выяснить, как получить имя и URL-адрес всех их списков, было легко и можно сделать одним общедоступным вызовом API:

http://openapi.etsy.com/v2/shops/:shop_id/listings/active?method=GET&api_key=:api_key

Этот вызов вернет не только название листинга и URL листинга, но и множество другой информации об этом конкретном элементе. Я полагаю, что я должен ограничить свой вызов только получением необходимых мне полей, но для примера я отвлекся...

Что меня больше всего удивляет, так это то, что в этом гигантском массиве информации нет ничего, что я ожидал бы найти там: изображения, связанные с списком или, по крайней мере, основное изображение. Тем не менее, есть отдельный API-вызов, который я могу сделать, чтобы получить изображения для одного листинга, но для этого потребуется получение list_id и выполнение отдельного API-вызова для каждого элемента. Теперь это превращает то, что я ожидал бы назвать одним (или даже адом, двумя) вызовами Etsy API, в 1 плюс сколько бы предметов вы не вернули. Если у вас есть 100 предметов, которые вы продаете в магазине, это 101 вызов API за несколько секунд! Назовите меня сумасшедшим, но я чувствую, что должен быть лучший способ сделать это, чем я нашел.

ВОПРОС

Какой самый простой способ сделать вызов API Etsy, чтобы вернуть все изображения (или даже основное изображение) для всех записей в магазине?

1 ответ

Решение

В итоге я использовал следующий код, чтобы включить все необходимое в один вызов API:

http://openapi.etsy.com/v2/shops/:shop_id/listings/active?method=GET&api_key=:api_key&fields=title,url&limit=100&includes=MainImage

Таким образом, я определил свои поля, чтобы у меня не было лишней информации, но я также установил ограничение на результаты и использовал includes=MainImage как строка запроса. Это было по предложению члена сообщества разработчиков Etsy.

Другие вопросы по тегам