Список обновлений Etsy API

Я пытаюсь использовать метод updateListing для пересмотра описаний листинга...

https://www.etsy.com/developers/documentation/reference/listing#method_updatelisting

Я успешно прошел процесс аутентификации OAuth и могу сделать авторизованный запрос через API в соответствии с примером в документации. У меня проблемы с методом updateListing. Я пытаюсь пересмотреть описание, но получаю следующую ошибку...

«Неверный запрос авторизации/неверный (получил 400, ожидаемый HTTP/1.1 20X или перенаправление) Ожидаемый параметр «количество». Массив»

Согласно документации количество не требуется (и фактически амортизируется для updateListing). Когда я использую существующее количество для заполнения «количества» в массиве (закомментировано), он жалуется на другое поле, которое он ожидает. Я не уверен, почему я получаю сообщение об ошибке в отношении этих полей, поскольку они не обязательны. Я был бы не против использовать существующие атрибуты, доступные в моем списке, для заполнения этих полей, но есть поле «shipping_template_id», которого у меня сейчас нет. Я не могу установить для него значение null, потому что он ожидает числовое значение. Когда я устанавливаю его на 0, он говорит, что это недействительный идентификатор шаблона доставки. Должно быть, я делаю что-то не так.

Вот мой код (я заменил свои настоящие токены и секреты токенов)…

$access_token = "мой токен"; $access_token_secret = "мой секрет";

$oauth = новый OAuth (OAUTH_CONSUMER_KEY, OAUTH_CONSUMER_SECRET, OAUTH_SIG_METHOD_HMACSHA1, OAUTH_AUTH_TYPE_URI);

$oauth->setToken($access_token, $access_token_secret);

пытаться {

$url = "https://openapi.etsy.com/v2/private/listings";

$params = array('listing_id' => $result->listing_id,
                                 //'quantity' => $result->quantity,
                                //'title' => $result->title,
                                'description' => $new_description);

$oauth->fetch($url, $params, OAUTH_HTTP_METHOD_POST);
$json = $oauth->getLastResponse();
print_r(json_decode($json, true));

} поймать (OAuthException $e) {

echo $e->getMessage();
echo $oauth->getLastResponse();
echo $oauth->getLastResponseInfo();

}


person Allen    schedule 16.09.2017    source источник


Ответы (1)


$args = array(
                                    'data' => array(
                                        "quantity" => $quantity,
                                        "title" => $title,
                                        "description" => strip_tags($description),
                                        "price" => $price,
                                        "materials" => $materials,
                                        "shipping_template_id" =>(int)$shippingTemplateId,

                                        "non_taxable" => false,
                                        "state" => "$ced_etsy_upload_product_type",
                                        "processing_min" => 1,
                                        "processing_max" => 3,

                                        "taxonomy_id" => (int)$categoryId,
                                        "who_made" => $who_made,
                                        "is_supply" => true,
                                        "when_made" => $when_made,

                                    )
                                );

Пожалуйста, попробуйте это, может быть, это поможет вам.

person CedCommerce    schedule 16.09.2017