Perl
Perl
Update an Inventory Listing using OAuth1 Authentication
See more Etsy Examples
Updates an inventory listing. This example uses OAuth1 authentication instead of providing an api_key=MY_ETSY_KEYSTRING query parameter.Chilkat Perl Downloads
use chilkat();
$success = 0;
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$rest = chilkat::CkRest->new();
# See this example for getting an OAuth1 token for Etsy
$json = chilkat::CkJsonObject->new();
$success = $json->LoadFile("qa_data/tokens/etsy.json");
if ($success == 0) {
print "Failed to load previously fetched Etsy OAuth1 access token." . "\r\n";
exit;
}
$oauth1 = chilkat::CkOAuth1->new();
$oauth1->put_ConsumerKey("app_keystring");
$oauth1->put_ConsumerSecret("app_shared_secret");
$oauth1->put_Token($json->stringOf("oauth_token"));
$oauth1->put_TokenSecret($json->stringOf("oauth_token_secret"));
$oauth1->put_SignatureMethod("HMAC-SHA1");
$oauth1->GenNonce(16);
$autoReconnect = 1;
$tls = 1;
$success = $rest->Connect("openapi.etsy.com",443,$tls,$autoReconnect);
if ($success == 0) {
print $rest->lastErrorText() . "\r\n";
exit;
}
# Tell the REST object to use the OAuth1 object.
$success = $rest->SetAuthOAuth1($oauth1,1);
$jsonText = "[{\"product_id\":1999949999,\"property_values\":[],\"offerings\":[{\"offering_id\":9999905883,\"price\":\"36.23\",\"quantity\":1}]}]";
$rest->AddQueryParam("products",$jsonText);
$rest->AddHeader("Content-Type","application/x-www-form-urlencoded");
$jsonResponseText = $rest->fullRequestFormUrlEncoded("PUT","/v2/listings/228827035/inventory");
if ($rest->get_LastMethodSuccess() == 0) {
print $rest->lastErrorText() . "\r\n";
exit;
}
$jsonResponse = chilkat::CkJsonObject->new();
$jsonResponse->Load($jsonResponseText);
$jsonResponse->put_EmitCompact(0);
print $jsonResponse->emit() . "\r\n";
print "Response status code: " . $rest->get_ResponseStatusCode() . "\r\n";