Я создаю сценарий для загрузки изображения листинга в etsy, используя python.
Однако, когда я выполнил, может ли он вернуть сообщение «Метаданные массива изображений не похожи на массив _FILES "
Кстати, я использую библиотеку https://github.com/mcfunley/etsy-python
Я пробовал этот код:
product_image = open(filename)
result = etsy.uploadListingImage(listing_id=listing_id, image=product_image)
Но он возвращал ошибку сообщение "UnicodeDecodeError: код 'utf-8' c не может декодировать байт 0xff в позиции 0: недопустимый начальный байт"
Я пробовал другой:
product_image = {filename, open(filename, 'rb'), 'image/jpeg'}
result = etsy.uploadListingImage(listing_id=listing_id, image=product_image)
Но он вернул сообщение об ошибке «Метаданные массива изображений не похожи на массив _FILES»
Существует образец кода для php (https://www.etsy.com/developers/documentation/getting_started/images#section_uploading_images), но мне было трудно его согласовать с библиотека python, которую я использую.
$source_file = dirname(realpath(__FILE__)) ."/$filename";
$url = "https://openapi.etsy.com/v2/listings/".$listing_id."/images";
$params = array('@image' => '@'.$source_file.';type='.$mimetype);
$oauth->fetch($url, $params, OAUTH_HTTP_METHOD_POST);
$json = $oauth->getLastResponse();
Итак, я думаю, что основная проблема - это тип переменной или структура параметра изображения в uploadListingImage.