Я пытаюсь использовать метод 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();
}